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

SQL सर्वर मास्टर डेटाबेस को पुनर्स्थापित करना

परिचय

मास्टर डेटाबेस में वर्तमान उदाहरण और अन्य सभी डेटाबेस दोनों के लिए संरचना/कॉन्फ़िगरेशन के रिकॉर्ड होते हैं। जब आप sp_configure run चलाते हैं , आप मास्टर डेटाबेस में डेटा लिख ​​रहे हैं। इसमें अधिकांश गतिशील प्रबंधन दृश्य भी शामिल हैं जो उदाहरण की निगरानी के लिए आवश्यक हैं।

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

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

आवेदन सेवाओं की स्थिति की जांच करें

मास्टर डेटाबेस को किसी अन्य इंस्टेंस पर पुनर्स्थापित करने के लिए एकल उपयोगकर्ता मोड में इंस्टेंस प्रारंभ करना शामिल होगा। इस प्रकार, यह सुनिश्चित करना आवश्यक है कि केवल सक्रिय सत्र ही इंस्टेंस को नियंत्रित कर रहा है।

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

एसक्यूएल सर्वर सेवाएं बंद करें

SQL सर्वर कॉन्फ़िगरेशन प्रबंधक के साथ सभी SQL सर्वर सेवाएँ बंद करें:प्रत्येक सेवा पर राइट-क्लिक करें और रोकें चुनें संदर्भ मेनू से (अंजीर देखें। 2)।

एसक्यूएल सर्वर को सिंगल यूजर मोड में शुरू करें

मास्टर डेटाबेस को पुनर्स्थापित करने के लिए, आपको एकल उपयोगकर्ता मोड में SQL सर्वर आवृत्ति की आवश्यकता है। निम्नलिखित कदम उठाएं:

  1. सीएमडी प्रॉम्प्ट खोलें
  2. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn
  3. पर नेविगेट करें
  4. समस्या sqlservr-m या NET प्रारंभ MSSQLServer /c /m /T3604

या

ध्यान दें कि चरण 2 बिन्न . को संदर्भित करता है निर्देशिका स्थान। यह आपके इंस्टालेशन में भिन्न हो सकता है।

आप SQL सर्वर कॉन्फ़िगरेशन प्रबंधक में SQL सर्वर सेवा गुणों के सेवा टैब की जाँच करके आवश्यक निर्देशिका पा सकते हैं (चित्र 4 देखें):

मास्टर को पुनर्स्थापित करें

जब आप मास्टर को एक इंस्टेंस से दूसरे इंस्टेंस में रिस्टोर करते हैं, तो आपको सिस्टम कैटलॉग में नए प्रिंसिपल और नए मान मिलते हैं, जिसमें इंस्टेंस नाम और यहां तक ​​​​कि tempdb लोकेशन जैसे मान होते हैं।

मास्टर को पुनर्स्थापित करने से पहले, सुनिश्चित करें कि गंतव्य सर्वर के पथ TempDB फ़ाइलों के लिए उपलब्ध हैं जैसा कि स्रोत सर्वर में परिभाषित किया गया है। अन्यथा, पुनर्स्थापना पूर्ण होने के बाद नया इंस्टेंस सफलतापूर्वक प्रारंभ नहीं होगा।

  1. एसक्यूएल सर्वर प्रबंधन स्टूडियो खोलें
  2. एसक्यूएल सर्वर प्रबंधन स्टूडियो में लिस्टिंग 1 में कोड चलाएँ
-- Listing 1: Restore Master Database
restore database master from disk ='<full_path_of_backup>' with replace;

एनबी: पुनर्स्थापना पूर्ण होने के बाद इंस्टेंस बंद हो जाएगा।

सेवा खाता परिवर्तन

पुनर्स्थापना पूर्ण होने के बाद SQL सर्वर प्रारंभ करने के लिए, निम्न कार्य करें:

  1. SQL सर्वर सेवा खाते को वर्तमान में लॉग ऑन खाते में बदलें।
  2. शुरू खोलें> सभी प्रोग्राम> Microsoft SQL Server 2005> कॉन्फ़िगरेशन उपकरण> SQL सर्वर कॉन्फ़िगरेशन प्रबंधक
  3. प्रत्येक सेवा पर राइट-क्लिक करें और गुण चुनें
  4. लॉग ऑन में टैब, वांछित खाता नाम और संबंधित पासवर्ड दर्ज करें।

सर्वर का नाम

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

-- Listing 2: Change the Instance Name for a SQL Server Instance
-- Check the current server name

select @@SERVERNAME

-- Change the server name as seen by the database

sp_dropserver 'EUK-POSTSVR-01'--Present Server name goes here
go 
sp_addserver 'EUK-POSTBKP-01','local'--New Server name goes here 
go

नाम परिवर्तन को प्रभावी करने के लिए SQL सर्वर कॉन्फ़िगरेशन प्रबंधक से SQL सर्वर को पुनरारंभ करें।

सेवा लॉगिन

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

-- Listing 3: Remove Unnecessary Logins
drop login [EUK-POSTSVR-01\SQLServer2005MSSQLUser$EUK-POSTSVR-01$MSSQLSERVER]
drop login [EUK-POSTSVR-01\SQLServer2005MSFTEUser$EUK-POSTSVR-01$MSSQLSERVER]
drop login [EUK-POSTSVR-01\SQLServer2005SQLAgentUser$EUK-POSTSVR-01$MSSQLSERVER]

-- Listing 4: Add local default SQL Server Groups
create login [EUK-POSTBKP-01\SQLServer2005MSSQLUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;
create login [EUK-POSTBKP-01\SQLServer2005SQLAgentUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;
create login [EUK-POSTBKP-01\SQLServer2005MSFTEUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;

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

S/No विशेषाधिकार इसके द्वारा आवश्यक
1. एक सेवा के रूप में लॉग ऑन करें SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता एकीकरण सेवा खाता
2. ऑपरेटिंग सिस्टम के हिस्से के रूप में कार्य करें SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता
3 बैच जॉब के रूप में लॉग ऑन करें SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता
4. प्रक्रिया-स्तरीय टोकन बदलें SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता
5. बाईपास ट्रैवर्स चेकिंग SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता एकीकरण सेवा खाता
6. किसी प्रक्रिया के लिए मेमोरी कोटा समायोजित करें SQL सर्वर सेवा खाता SQL एजेंट सेवा खाता
7. वैश्विक ऑब्जेक्ट बनाएं एकीकरण सेवा खाता
8. मेमोरी में पेज लॉक करें (AWE) SQL सर्वर सेवा खाता

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

इस बिंदु पर, आप एप्लिकेशन सेवाएं शुरू कर सकते हैं।

निष्कर्ष

उपरोक्त परिदृश्य के निष्पादन के दौरान, त्रुटियां हो सकती हैं। नीचे, आपको इन त्रुटियों के बारे में जानकारी दिखाई देगी।

यदि आप समस्याओं का निवारण करते हैं, तो आप SysInternal के ProcMon जैसे टूल का उपयोग कर सकते हैं। SQL सर्वर शुरू करते समय वे फ़ाइल अनुमति समस्याओं को अलग करते हैं (चित्र 7 देखें)।

S/N त्रुटि कारण/समाधान
1. SQLServerAgent प्रारंभ नहीं किया जा सका (कारण:सर्वर से कनेक्ट करने में असमर्थ '(स्थानीय)'; SQLServerAgent प्रारंभ नहीं हो सकता)। सभी स्थानीय सेवा खातों के लिए लॉगिन बनाएं
2. सर्वर स्थानीय कनेक्शन प्रदाता [ \\.\pipe\SQLLocal\MSSQLSERVER ] पर सुनने में विफल रहा। त्रुटि:0x5 TDSSNIClient आरंभीकरण त्रुटि 0x5, स्थिति कोड 0x40 के साथ विफल रहा। TDSSNIClient आरंभीकरण त्रुटि 0x5, स्थिति कोड 0x1 के साथ विफल रहा। SQL सर्वर FRunCM थ्रेड को स्पॉन नहीं कर सका। संभावित संबंधित समस्याओं के बारे में जानकारी के लिए SQL सर्वर त्रुटि लॉग और Windows इवेंट लॉग की जाँच करें। नेटवर्क लायब्रेरी में किसी आंतरिक त्रुटि के कारण नेटवर्क लाइब्रेरी प्रारंभ नहीं कर सका। कारण निर्धारित करने के लिए, त्रुटि लॉग में इसके ठीक पहले की त्रुटियों की समीक्षा करें। SQL सर्वर को पहले किसी भिन्न सेवा खाते के साथ प्रारंभ किया गया था और बलपूर्वक समाप्त कर दिया गया था। यह मास्टर डेटाबेस की बहाली के दौरान होता है। इसे ठीक करने के लिए, चरण 3 में उपयोग किए गए सेवा खाते के साथ इंस्टेंस को प्रारंभ करें और फिर सेवा को इनायत से बंद कर दें। उसके बाद, आप नियमित सेवा खाते से शुरू कर सकते हैं।
3. SQLServerAgent प्रारंभ नहीं किया जा सका (कारण:एक नया सत्र बनाने में त्रुटि)। SQL एजेंट खाते को उचित अनुमति दें

संदर्भ

मास्टर डेटाबेस


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वेतन तालिका से तीसरा या शून्य अधिकतम वेतन कैसे प्राप्त करें?

  2. SQL सर्वर में प्राकृतिक जुड़ाव

  3. संग्रहीत कार्यविधि से चयन कैसे करें

  4. SQL तालिकाओं के लिए एक शुरुआती मार्गदर्शिका

  5. SQL सर्वर में वर्तमान तिथि कैसे प्राप्त करें