हाल ही में जब मैं एक डेटाबेस को पुनर्स्थापित करने के लिए स्क्रिप्ट पर आया, तो मुझे संदेह हुआ कि हमें " FILE = 1 " का उपयोग क्यों करना है ? क्या हम उस कथन के बिना डेटाबेस को पुनर्स्थापित नहीं कर सकते?! मूल रूप से, इसका उपयोग किस लिए किया जाता है?
हाल ही में जब मैं एक डेटाबेस को पुनर्स्थापित करने के लिए स्क्रिप्ट पर आया, तो मुझे संदेह हुआ कि हमें " FILE = 1 " का उपयोग क्यों करना है ? क्या हम उस कथन के बिना डेटाबेस को पुनर्स्थापित नहीं कर सकते?! मूल रूप से, इसका उपयोग किस लिए किया जाता है?
जवाबों:
आपको एक बैकअप फ़ाइल (यानी डिवाइस) में एक से अधिक बैकअप सहेजने की अनुमति है। जब FILE
आप .bak
फ़ाइल के भीतर से चुनने के लिए एकाधिक हों, तो खंड आपको एक विशेष बैकअप ऑपरेशन तक पहुंचने देता है ।
RESTORE कमांड के विभिन्न विकल्पों के बारे में अधिक जानकारी के लिए , कृपया RESTORE तर्क के लिए निम्नलिखित MSDN प्रलेखन देखें ।
यदि आप बैकअप सेट विकल्प अनुभाग के अंतर्गत देखते हैं , तो आप पाएंगे:
FILE = { backup_set_file_number | @ backup_set_file_number }
पुनर्स्थापित करने के लिए बैकअप सेट की पहचान करता है। उदाहरण के लिए, 1 का एक backup_set_file_number बैकअप माध्यम पर पहला बैकअप सेट इंगित करता है और 2 का एक backup_set_file_number दूसरा बैकअप सेट इंगित करता है। RESTORE HEADERONLY कथन का उपयोग करके आप किसी बैकअप सेट का backup_set_file_number प्राप्त कर सकते हैं ।
जब निर्दिष्ट नहीं किया जाता है, तो डिफ़ॉल्ट 1 है, इसके अलावा केवल मुख्य रूप से उस स्थिति में जब मीडिया सेट में सभी बैकअप सेट संसाधित होते हैं। अधिक जानकारी के लिए, बाद में इस विषय में "बैकअप सेट निर्दिष्ट करना" देखें।
महत्वपूर्ण
यह फ़ाइल विकल्प डेटाबेस फ़ाइल निर्दिष्ट करने के लिए फ़ाइल विकल्प के लिए असंबंधित है, फ़ाइल = { तार्किक_फाइल_नाम_इन_बैकअप | @ लॉजिकल_फाइल_नाम_इन_बैकअप_वर }।
हाँ, आप बिना बहाल करने के लिए सक्षम होना चाहिए FILE = 1
के रूप में 1
डिफ़ॉल्ट वैसे भी है। और यदि आपके पास बैकअप फ़ाइल में केवल एक ही बैकअप-सेट है, तो उसे समस्या का सामना नहीं करना चाहिए।
उदाहरण का वर्णन करने में मदद करने के लिए जब आप FILE
विकल्प का उपयोग करेंगे , तो निम्नलिखित है, जो कि RESTORE कमांड MSDN पृष्ठ ( उदाहरण के लिए) से उदाहरण B है। यह एक सिंगल बैकअप फाइल से दो रिस्टोर करना दिखाता है : पहला RESTORE
है फुल बैकअप, और दूसरा RESTORE
है डिफरेन्शियल बैकअप।
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 6
NORECOVERY;
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 9
RECOVERY;