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

SQL सर्वर में स्वचालित डेटाबेस परीक्षण पुनर्स्थापित करें

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

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

इसके अतिरिक्त, वास्तविक जीवन परिदृश्य में डेटाबेस बहाली कार्य स्वचालन की योजना बनाने और कार्यान्वित करने के तरीके के बारे में कुछ सुझाव भी होंगे।

डेटाबेस परीक्षण बहाली और CheckDB (DBA परिप्रेक्ष्य)

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

इसका मतलब यह भी है कि डेटाबेस बैकअप और पुनर्स्थापना संचालन अधिक प्रभावी होते हैं यदि वे किसी अन्य संगतता जांचकर्ता तंत्र द्वारा समर्थित हों।

DBCC CHECKDB कमांड का उपयोग करना

SQL सर्वर डेटाबेस की स्थिरता की जाँच करने के लिए एक आसान कमांड के साथ आता है।

Microsoft दस्तावेज़ के अनुसार, DBCC CHECKDB कमांड का उपयोग डेटाबेस में सभी ऑब्जेक्ट्स की तार्किक और भौतिक अखंडता की जाँच करने के लिए कई अलग-अलग ऑपरेशन करके किया जाता है।

बिना किसी त्रुटि के कमांड का सफल निष्पादन इंगित करता है कि डेटाबेस स्थिर और सुसंगत स्थिति में है।

इस कमांड को केवल निम्नानुसार निष्पादित किया जा सकता है बशर्ते कि वांछित डेटाबेस जुड़ा हो:

डेटाबेस परीक्षण बहाली परिदृश्य

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

हालांकि, बैकअप बनाना इस बात की गारंटी नहीं देता है कि डेटाबेस डिजास्टर रिकवरी जिसे DR के रूप में भी जाना जाता है, तब तक मौजूद है जब तक कि डेटाबेस सफलतापूर्वक पुनर्स्थापित नहीं हो जाता।

इसलिए डेटाबेस को बैकअप से पुनर्स्थापित किया जाना चाहिए ताकि यह सुनिश्चित किया जा सके कि किसी डेटाबेस घटना के मामले में डेटा को सफलतापूर्वक पुनर्स्थापित किया जा सके।

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

तो एक डीबीए कैसे सुनिश्चित करता है कि बैकअप सब ठीक है? बस किसी अन्य परीक्षण सर्वर पर डेटाबेस के नवीनतम बैकअप को पुनर्स्थापित करके।

एक बार डेटाबेस बैकअप सफलतापूर्वक बहाल हो जाने के बाद, DBCC CHECKDB कमांड को यह सुनिश्चित करने के लिए निष्पादित किया जाना चाहिए कि पुनर्स्थापित डेटाबेस सुसंगत और स्थिर है।

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

डेटाबेस परीक्षण बहाली को स्वचालित करना

आइए अब विस्तार से देखें कि डेटाबेस परीक्षण बहाली को स्वचालित कैसे करें।

डेटाबेस परीक्षण पुनर्स्थापना की योजना बनाना

अपने कदमों की योजना बनाना बहुत महत्वपूर्ण है ताकि आप उन्हें आसानी से स्वचालित कर सकें। योजना के लिए आपको SQL कार्य स्वचालन की पूर्व शर्तो को पूरा करना भी आवश्यक है।

पूर्व शर्त

कृपया सुनिश्चित करें कि पारंपरिक तरीके से SQL सर्वर में डेटाबेस बहाली कार्यों को स्वचालित करने से पहले निम्नलिखित पूर्व शर्त पूरी होती हैं:

  1. आपका स्वचालन संगठनात्मक नियमों और विनियमों के विरोध में नहीं है
  2. आप इस कार्य को स्वचालित करने के लिए अधिकृत हैं
  3. एसक्यूएल एजेंट चल रहा है
  4. डेटाबेस सर्वर जिस पर बहाली होने जा रही है, उसे चालू और चालू होना चाहिए
  5. डेटाबेस बैकअप प्रक्रिया पहले से ही स्वचालित है और बैकअप बैकअप ड्राइव पर भेज दिया गया है
  6. बैकअप ड्राइव को परीक्षण सर्वर द्वारा एक्सेस किया जा सकता है

चरणों का सारांश

  1. डेटाबेस बैकअप सर्वर पर चलता है
  2. यह बैकअप किसी अन्य परीक्षण सर्वर द्वारा सुलभ बैकअप ड्राइव में सहेजा जाता है
  3. बैकअप की बहाली को चलाने के लिए परीक्षण सर्वर पर SQL कार्य शेड्यूल किया गया है
  4. एक बार चलाए गए SQL कार्य के बाद पुनर्स्थापित डेटाबेस पर मैन्युअल रूप से DBCC CheckDB चलाकर किया जा सकता है, लेकिन इसे स्वचालित भी किया जा सकता है

संदर्भ आलेख

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

डेटाबेस बैकअप कार्य को दोहराना

आइए मान लें कि बैकअप कार्य चलाया गया है और बैकअप ड्राइव पर बैकअप बनाया गया है।

इस कार्य को दोहराने के लिए, हम UniversityV7 . नामक एक नमूना डेटाबेस बनाने जा रहे हैं इस प्रकार है:

-- (1) Create the UniversityV7 sample database
CREATE DATABASE UniversityV7;
GO

USE UniversityV7

CREATE TABLE [dbo].[Student] (
    [StudentId] INT           IDENTITY (1, 1) NOT NULL,
    [Name]      VARCHAR (30)  NULL,
    [Course]    VARCHAR (30)  NULL,
    [Marks]     INT           NULL,
    [ExamDate]  DATETIME2 (7) NULL,
    CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED ([StudentId] ASC)
);
GO

INSERT INTO [dbo].[Student]
           ([Name]
           ,[Course]
           ,[Marks]
           ,[ExamDate])
     VALUES
           ('Asif'
           ,'Power BI Fundamentals'
           ,85
           ,'01 Jan 2019'),
		   ('Mike'
           ,'Power BI Fundamentals'
           ,80
           ,'01 Jan 2019'),
		   ('Sadaf'
           ,'Power BI Fundamentals'
           ,75
           ,'01 Jan 2019')
		   
GO

इस स्क्रिप्ट को चलाने से नमूना डेटाबेस बनता है और पॉप्युलेट होता है।

निम्न स्क्रिप्ट चलाकर डेटाबेस की जाँच करें:

SELECT [StudentId]
      ,[Name]
      ,[Course]
      ,[Marks]
      ,[ExamDate]
  FROM [UniversityV7].[dbo].[Student]

आउटपुट इस प्रकार होना चाहिए:

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

निम्न T-SQL स्क्रिप्ट चलाकर डेटाबेस बैकअप कार्य को दोहराएं:

-- Backup the UniversityV7 sample database using the date stamp
DECLARE @BackupName VARCHAR(100)
SET @BackupName=CONCAT('C:\Backup\UniversityV7-',FORMAT(GETDATE(),'yyyy-MM-dd'),'.bak')
BACKUP DATABASE UniversityV7 TO [email protected] WITH COMPRESSION, INIT;
GO

डेटाबेस बैकअप जांच

उस फ़ोल्डर में नेविगेट करके डेटाबेस बैकअप की जाँच करें जहाँ हमने अभी-अभी बैकअप बनाया है और बैकअप फ़ाइल देखें:

दूसरे SQL इंस्टेंस से कनेक्ट करें

अब, एक परीक्षण सर्वर का अनुकरण करने के लिए किसी अन्य SQL इंस्टेंस से कनेक्ट करें। जाँच करने वाली पहली चीज़ यह है कि SQL एजेंट चल रहा है या नहीं।

SQL एजेंट प्रारंभ करें (यदि नहीं चल रहा है)

SQL सर्वर एजेंट पर राइट-क्लिक करें और प्रारंभ करें . क्लिक करें जैसा कि नीचे दिखाया गया है:

नई नौकरी बनाएं

इसके बाद, नौकरी पर राइट-क्लिक करें , क्लिक करें नई नौकरी… और फिर कार्य का नाम "डेटाबेस परीक्षण पुनर्स्थापना . के रूप में टाइप करें ":

इसके बाद, चरण . चुनें बाएं नेविगेशन मेनू में, नया click क्लिक करें , और फिर “डेटाबेस परीक्षण पुनर्स्थापना . टाइप करें चरण नाम के रूप में:

यह सुनिश्चित करने के बाद कि संबंधित ड्रॉप-डाउन सूची में टी-एसक्यूएल प्रकार चुना गया है, कमांड इनपुट बॉक्स में निम्न टी-एसक्यूएल स्क्रिप्ट टाइप करें।

-- Restore the UniversityV7 sample database 
RESTORE DATABASE UniversityV7 FROM DISK=N'C:\Backup\UniversityV7-2019-08-27.bak'
WITH
MOVE 'UniversityV7' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLTAB\MSSQL\DATA\UniversityV7_Data.mdf',
MOVE 'UniversityV7_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLTAB\MSSQL\DATA\UniversityV7_Log.ldf'
,RECOVERY,REPLACE,STATS=10;
GO

कृपया ध्यान दें कि पथ C:\Program Files\Microsoft SQL Server\MSSQL12.SQLNAME\MSSQL\DATA\UniversityV7_Data.mdf में प्रदान किया गया है यह स्क्रिप्ट केवल डेमो उद्देश्यों के लिए है। वाई आपको इसे इसके साथ बदलना होगा वास्तविक आपके परीक्षण SQL सर्वर आवृत्ति का पथ।

अंत में, ठीक है। . पर क्लिक करें

कार्य को 2 मिनट में चलाने के लिए शेड्यूल करें

डेटाबेस परीक्षण पुनर्स्थापना पर राइट-क्लिक करें नौकरी . के अंतर्गत नौकरी और गुण: . पर क्लिक करें

नयाक्लिक करें , टाइप करें “हर 2 मिनट (परीक्षण) ”, और दो मिनट के बाद चलने के लिए शेड्यूल सेट करें:

कुछ मिनटों के बाद, परीक्षण सर्वर से कनेक्ट करें और डेटाबेस . का विस्तार करें नोड यह देखने के लिए कि UniversityV7 डेटाबेस को एक स्वचालित SQL सर्वर कार्य (नौकरी) द्वारा सफलतापूर्वक पुनर्स्थापित कर दिया गया है।

कृपया बेझिझक DBCC CheckDB चलाएं ताकि यह सुनिश्चित हो सके कि डेटाबेस बहाली प्रक्रिया ठीक है।

बधाई हो! आपने डेटाबेस परीक्षण बहाली प्रक्रिया को सफलतापूर्वक स्वचालित कर दिया है।

करने के लिए चीज़ें

अब जब आप डेटाबेस बैकअप और परीक्षण बहाली को स्वचालित कर सकते हैं, तो कृपया अपने कौशल में सुधार के लिए निम्नलिखित कार्यों को पूरा करने का प्रयास करें:

  1. DBCC CheckDB को स्वचालित डेटाबेस बहाली प्रक्रिया के एक भाग के रूप में जोड़ें
  2. एक सर्वर पर बैकअप को स्वचालित करें और इसे दूसरे परीक्षण सर्वर पर पुनर्स्थापित करें
  3. डेटाबेस बैकअप को स्वचालित करें और एकाधिक डेटाबेस के लिए पुनर्स्थापना कार्यों का परीक्षण करें


  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 सर्वर 2005 में गतिरोध का निदान

  2. SQL सर्वर सिमेंटिक सर्च के साथ विंडोज फाइल सिस्टम पर दस्तावेजों का भंडारण और विश्लेषण - भाग 2

  3. एंटिटी फ्रेमवर्क 6 ट्रांजेक्शन रोलबैक

  4. SQL सर्वर DATETIME प्रकार एक सेकंड के 1/300 के टिक में समय क्यों बचाता है?

  5. चर निर्दिष्ट करते समय सेट बनाम चयन करें?