Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक अस्थायी तालिका में कैसे सम्मिलित करें, जो कि RESTORE FILELISTONLY / HEADERONLY / VERIFYONLY द्वारा दी गई जानकारी है

निजी तौर पर, यह एक ऐसा परिदृश्य है जहां मैं शुद्ध टीएसक्यूएल से बचूंगा और बाहरी स्क्रिप्ट या प्रोग्राम का उपयोग करूंगा। आप जो करने की कोशिश कर रहे हैं उसके आधार पर, आप पा सकते हैं कि Powershell या .NET से Smo का उपयोग करने से वैसे भी TSQL की आवश्यकता पूरी तरह से बच जाती है। मैं ऐसा इसलिए कहता हूं क्योंकि बैकअप के साथ काम करना हमेशा डेटाबेस के बाहर की फाइलों के साथ काम करने लगता है, और फिर TSQL बहुत अजीब है।

यह सब कहने के बाद, यदि आप सुनिश्चित हैं कि आपको यह TSQL में अवश्य करना चाहिए, तो आप कुछ इस तरह कर सकते हैं:

insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec('RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak''')

या थोड़ा अच्छा बनने के लिए:

declare @Command nvarchar(4000)
-- you can build the command string some other way, of course
set @Command = N'RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak'''

insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec sp_executesql @Command

आपको अभी भी पहले तालिका बनानी होगी, हालांकि, जो कोई बड़ी बात नहीं है और यदि आप इसे बहुत कुछ करते हैं तो वैसे भी समझ में आता है। बुक्स ऑनलाइन परिणाम सेट में प्रत्येक कॉलम के लिए डेटा प्रकार को सूचीबद्ध करता है, लेकिन कम से कम मेरे लिए (एसक्यूएल2008 एसपी1) दस्तावेज वास्तविक परिणाम सेट से मेल नहीं खाता है, इसलिए आपको इसे ट्विक करने की आवश्यकता हो सकती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में आसानी से मास्टर डेटाबेस को फिर से बनाने के तरीके

  2. SQL सर्वर में डेटा फ़ाइलों और लॉग फ़ाइलों का स्थान कैसे खोजें

  3. SQL सर्वर में टेक्स्ट कॉलम कैसे पिवट करें?

  4. मैं SQL एजेंट कार्य में संग्रहीत कार्यविधि को कैसे निष्पादित करूं?

  5. स्प्लिट स्ट्रिंग कॉलम मान