बैकअप और कमांड लाइन से अपने SQL सर्वर डेटाबेस को पुनर्स्थापित करें

विषयसूची:

बैकअप और कमांड लाइन से अपने SQL सर्वर डेटाबेस को पुनर्स्थापित करें
बैकअप और कमांड लाइन से अपने SQL सर्वर डेटाबेस को पुनर्स्थापित करें

वीडियो: बैकअप और कमांड लाइन से अपने SQL सर्वर डेटाबेस को पुनर्स्थापित करें

वीडियो: बैकअप और कमांड लाइन से अपने SQL सर्वर डेटाबेस को पुनर्स्थापित करें
वीडियो: Adding Notepad++ custom syntax highlighting with User Defined Language (UDL NPP Fallout MSG Markup) - YouTube 2024, अप्रैल
Anonim

SQL सर्वर रखरखाव योजना का सबसे महत्वपूर्ण हिस्सा नियमित रूप से आपके डेटाबेस का बैक अप ले रहा है। डेटाबेस का बैकअप लेने के लिए, आप डेटाबेस के संबंधित एमडीएफ और एलडीएफ फ़ाइलों को प्रतिलिपि नहीं बना सकते क्योंकि SQL सर्वर इन पर लॉक है। इसके बजाय, आपको SQL सर्वर के माध्यम से एक सच्ची बैकअप फ़ाइल बनाने की आवश्यकता है।

हालांकि यह SQL प्रबंधन स्टूडियो के अंदर रखरखाव योजना विकसित करके किया जा सकता है, SQL सर्वर के मुक्त एक्सप्रेस संस्करण इस इंटरफ़ेस की पेशकश नहीं करते हैं। इसके आसपास काम करने के लिए, आप Windows व्यवस्थापक के रूप में लॉग इन करते समय नीचे दिए गए आदेश को चलाकर अपने डेटाबेस को आसानी से बैकअप कर सकते हैं:

SqlCmd -E -S Server_Name –Q “BACKUP DATABASE [Name_of_Database] TO DISK=’X:PathToBackupLocation[Name_of_Database].bak'”

नीचे दिए गए उदाहरण मदद करेंगे।

डिफ़ॉल्ट SQL सर्वर उदाहरण:

SqlCmd -E -S MyServer –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

नामित SQL सर्वर उदाहरण:

SqlCmd -E -S MyServerMyInstance –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

उपर्युक्त "डी: बैकअपअप एमडीडीबी.बैक" फ़ाइल में "माईडीबी" की पूरी तरह से पुन: प्रारंभिक बैकअप प्रतिलिपि बनाएं जिसका उपयोग आपदा रिकवरी के लिए किया जा सकता है। बेशक, आप बैकअप स्थान और फ़ाइल को जो कुछ भी चाहते हैं उसे बदल सकते हैं, लेकिन सुनिश्चित करें कि आप स्थानीय मशीन पर मौजूद एक फ़ोल्डर स्थान निर्दिष्ट करते हैं। इस बैकअप फ़ाइल को तब टेप ड्राइव या किसी अन्य बाहरी बैकअप स्थान पर कॉपी किया जा सकता है।

एक आम सवाल यह है कि "मैप किए गए ड्राइव या यूएनसी स्थान पर बैकअप फ़ाइल बनाई जा सकती है?" और त्वरित उत्तर नहीं है। इसका कारण यह है कि SQL सर्वर Windows सेवा उपयोगकर्ता खाते के रूप में चलती है जिसके पास केवल स्थानीय मशीन तक पहुंच होती है। आप उस सेवा को बदल सकते हैं जो सेवा चलता है, लेकिन यह सुरक्षा कारणों से अत्यधिक निराश है।

कमांड लाइन से डेटाबेस बैकअप को पुनर्स्थापित करना

बैकअप फ़ाइल से डेटाबेस को पुनर्स्थापित करने के लिए, बस कमांड का उपयोग करें:

SqlCmd -E -S Server_Name –Q “RESTORE DATABASE [Name_of_Database] FROM DISK=’X:PathToBackupFile[File_Name].bak'”

उदाहरण के लिए:

SqlCmd -E -S MyServer –Q “RESTORE DATABASE [MyDB] FROM DISK=’D:BackupsMyDB.bak'”

उपरोक्त आदेश बैकअप फ़ाइल "D: BackupsMyDB.bak" में संग्रहीत डेटा से "MyDB" का बैकअप पुनर्स्थापित करेगा। बैकअप फ़ाइल के निर्माण के बाद से MyDB में किए गए कोई भी परिवर्तन खो जाएंगे।

उपरोक्त आदेश का उपयोग करते समय याद रखने के लिए एक महत्वपूर्ण बात यह है कि इसका उपयोग उसी SQL सर्वर पर किया जाना चाहिए जिसका संबंधित बैकअप फ़ाइल बनाया गया था। एसक्यूएल बैकअप फाइलें 'दृश्यों के पीछे' स्टोर करती हैं जो बैकअप फ़ाइल में डेटा फ़ाइलों को कॉपी और कैसे नियंत्रित करती है। यदि आप किसी भिन्न SQL सर्वर से बैकअप को पुनर्स्थापित कर रहे हैं, तो बैकअप फ़ाइल में पथ स्थान उस सर्वर से मेल नहीं खा सकते हैं जिसे आप पुनर्स्थापित कर रहे हैं और एक त्रुटि परिणामस्वरूप होगी। हालांकि इसे चारों ओर काम किया जा सकता है, SQL प्रबंधन स्टूडियो टूल का उपयोग कर किसी अन्य SQL सर्वर पर बनाए गए बैकअप को पुनर्स्थापित करना बहुत आसान है।

नोट: उपरोक्त आदेश SQL 2005 और उच्च (किसी भी संस्करण) पर काम करेंगे। एसक्यूएल 2000 और उससे पहले के लिए, 'एसक्यूएलएमडी' को 'ओएसक्ल' के साथ बदलें।

सिफारिश की: