किसी नेटवर्क साझा करने के लिए SQL डेटाबेस का बैक अप कैसे लें

विषयसूची:

किसी नेटवर्क साझा करने के लिए SQL डेटाबेस का बैक अप कैसे लें
किसी नेटवर्क साझा करने के लिए SQL डेटाबेस का बैक अप कैसे लें
Anonim

नियमित रूप से SQL डेटाबेस का बैक अप लेना आवश्यक है। हमने पहले से ही आपके सभी SQL सर्वर डेटाबेस को स्थानीय हार्ड ड्राइव पर बैकअप करने के तरीकों को कवर किया है, लेकिन यह ड्राइव और / या सिस्टम विफलता के विरुद्ध सुरक्षा नहीं करता है। इस प्रकार के आपदा के खिलाफ सुरक्षा की एक अतिरिक्त परत के रूप में, आप नेटवर्क बैकअप पर अपने बैकअप कॉपी या सीधे बना सकते हैं।

स्थानीय रूप से बैकअप लें और फिर नेटवर्क साझा करें पर प्रतिलिपि बनाएँ

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

SET LocalFolder=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup SqlCmd -E -Q “Backup Database MyDB To Disk=’%LocalFolder%MyDB.bak'” XCopy “%LocalFolder%MyDB.bak” “192.168.16.55BackupDatabases” /Z /V DEL “%LocalFolder%MyDB.bak”

यह स्क्रिप्ट निम्नलिखित है (रेखा से रेखा):

  1. स्थानीय एसक्यूएल बैकअप निर्देशिका में एक चर सेट करता है।
  2. स्थानीय SQL बैकअप निर्देशिका में MyDB (Windows प्रमाणीकरण का उपयोग कर) का SQL बैकअप बनाता है।

  3. स्थानीय बैकअप फ़ाइल को नेटवर्क शेयर में कॉपी करता है।
  4. स्थानीय बैकअप फ़ाइल हटा देता है।

दोबारा, यह पसंदीदा तरीका है क्योंकि यह बॉक्स से बाहर काम करता है और बैकअप विफलता की संभावना स्थानीय डिस्क पर बैकअप बनने के बाद न्यूनतम होती है। हालांकि, यदि आपके पास बैकअप फ़ाइलों की स्थानीय प्रतियों को संग्रहीत करने के लिए पर्याप्त डिस्क स्थान नहीं है, तो यह क्रिया विफल हो जाएगी। इस घटना में, आपको नेटवर्क साझा करने के लिए सीधे अतिरिक्त डिस्क स्थान या बैकअप जोड़ना होगा।

नेटवर्क साझा करने के लिए सीधे बैकअप

आम तौर पर, जब आप किसी कमांड का उपयोग कर सीधे नेटवर्क शेयर पर बैकअप बनाने का प्रयास करते हैं जैसे कि:

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

आपको अधिकतर लाइनों के साथ एक त्रुटि मिल जाएगी:

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 5(Access is denied.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

यह त्रुटि इस तथ्य के बावजूद होती है कि आपने Windows प्रमाणीकरण (-E स्विच) और Windows खाते का उपयोग कर SQL बैकअप कमांड को Windows Explorer के माध्यम से फ़ाइलों तक पहुंचने और कॉपी करने की क्षमता के रूप में चलाया।

इस क्रिया में विफल होने का कारण यह है कि SQL कमांड को SQL सर्वर सेवा के रूप में चल रहे खाते की सीमाओं के भीतर निष्पादित किया जाता है। जब आप अपने कंप्यूटर पर सेवा सूची देखते हैं, तो संभवतः आप SQL सर्वर सेवा को कॉलम के रूप में चल रहे हैं (या तो कॉलम के रूप में लॉग ऑन) या तो स्थानीय सिस्टम या नेटवर्क सेवा जो सिस्टम खाते हैं जिनके पास नेटवर्क पहुंच नहीं है।
इस क्रिया में विफल होने का कारण यह है कि SQL कमांड को SQL सर्वर सेवा के रूप में चल रहे खाते की सीमाओं के भीतर निष्पादित किया जाता है। जब आप अपने कंप्यूटर पर सेवा सूची देखते हैं, तो संभवतः आप SQL सर्वर सेवा को कॉलम के रूप में चल रहे हैं (या तो कॉलम के रूप में लॉग ऑन) या तो स्थानीय सिस्टम या नेटवर्क सेवा जो सिस्टम खाते हैं जिनके पास नेटवर्क पहुंच नहीं है।

हमारे सिस्टम पर नेटवर्क शेयर कमांड पर बैकअप विफल रहता है क्योंकि हमारे पास SQL सर्वर सेवा स्थानीय सिस्टम के रूप में चल रही है, जो कि, किसी भी नेटवर्क संसाधनों को प्राप्त नहीं कर सकती है।

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

SQL सर्वर सेवा के गुणों और लॉग ऑन टैब पर, सेवा को वैकल्पिक खाते के रूप में चलाने के लिए कॉन्फ़िगर करें जिसमें नेटवर्क पहुंच अधिकार हैं।

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

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

आपको एक सफल संदेश देखना चाहिए:

Processed 152 pages for database ‘MyDB’, file ‘MyDB’ on file 1. Processed 2 pages for database ‘MyDB’, file ‘MyDB_log’ on file 1. BACKUP DATABASE successfully processed 154 pages in 0.503 seconds (2.493 MB/sec).

बैकअप फ़ाइल के साथ अब नेटवर्क शेयर निर्देशिका में:

Image
Image

नेटवर्क शेयर विचार

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

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 1326(Logon failure: unknown user name or bad password.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

यह त्रुटि इंगित करती है कि खाता के उपयोगकर्ता नाम और पासवर्ड को नेटवर्क शेयर द्वारा स्वीकार नहीं किया गया था और कमांड विफल हुआ था।

ध्यान में रखने के लिए एक और मुद्दा यह है कि बैकअप सीधे नेटवर्क संसाधन पर किया जाता है, इसलिए नेटवर्क कनेक्शन में किसी भी हिचकी से आपके बैकअप विफल हो सकते हैं। इस कारण से, आपको केवल उन नेटवर्क स्थानों पर बैकअप होना चाहिए जो स्थिर हैं (यानी शायद वीपीएन नहीं)।

सुरक्षा प्रभाव

जैसा कि पहले बताया गया है, उस विधि का उपयोग करके जहां आप स्थानीय रूप से बैकअप लेते हैं और उसके बाद नेटवर्क शेयर पर प्रतिलिपि बनाई जाती है क्योंकि यह आपको स्थानीय सेवा पहुंच के साथ SQL सेवा को एक खाते के रूप में चलाने की अनुमति देता है।

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

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

सिफारिश की: