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

एमएस एसक्यूएल सर्वर 2017 मानक में विफलता लागू करना

परिचय

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

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

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

संक्षिप्त समीक्षा

  1. हमेशा चालू

    सभी पार्टियों के बीच लोड वितरण, सभी पार्टियों को उनकी विशेषताओं में एक दूसरे के समान होना चाहिए। सिंक्रोनस मोड डेटा ट्रांसमिशन की अधिकतम विश्वसनीयता सुनिश्चित करता है; हालांकि, प्रदर्शन सबसे धीमी पार्टी की गति के बराबर होगा। एसिंक्रोनस मोड उच्चतम प्रदर्शन सुनिश्चित करता है, लेकिन पार्टियों के बीच बेमेल डेटा हो सकता है, जो अधिक जटिल रखरखाव और मुख्य पार्टी विफलता के मामले में नवीनतम परिवर्तनों को खोने की संभावना का कारण बन सकता है। सिंक्रोनस मोड में स्विच करने की गति लगभग तात्कालिक है और इसके लिए सिस्टम एडमिनिस्ट्रेटर और डीबीए की आवश्यकता नहीं होती है, जबकि एसिंक्रोनस मोड में, यह डीबी-डुप्लिकेट की वर्तमान स्थिति पर निर्भर करता है और आमतौर पर इसमें लगभग 5 मिनट लगते हैं (आप सिस्टम एडमिनिस्ट्रेटर के बिना एक डीबीए द्वारा स्विचिंग प्रक्रिया को स्वचालित भी कर सकते हैं) ).Microsoft एक डेटाबेस के लिए इस तकनीक का उपयोग करने की अनुशंसा करता है। यह एंटरप्राइज़ संस्करण में 2012 और उच्चतर संस्करण से शुरू होकर और मानक संस्करण में प्रतिबंधों के साथ उपलब्ध है (अधिक जानने के लिए, कृपया बुनियादी उपलब्धता समूहों के बारे में शीर्ष 5 प्रश्न देखें)।

  2. क्लस्टरिंग

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

  3. प्रतिकृति

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

  4. प्रतिबिंब

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

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

    डेटाबेस का पुनर्प्राप्ति मोड भरा हुआ है।

    Microsoft इसे एक पुरानी डेटाबेस तकनीक मानता है। यह मानक संस्करण (सिंक्रोनस मोड में) और एंटरप्राइज़ संस्करण (एसिंक्रोनस मोड में) में संस्करण 2008 और उच्चतर तक उपलब्ध है।

  5. लेन-देन लॉग शिपिंग

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

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

    यह कैसे काम करता है:

    1. समय-समय पर, डेटाबेस लेनदेन लॉग की एक बैकअप प्रतिलिपि स्रोत और स्टैंडबाय सर्वर पर एक सार्वजनिक फ़ोल्डर में संग्रहीत की जाती है (निर्देशिका और शेड्यूल डिफ़ॉल्ट रूप से हर 15 मिनट में कॉन्फ़िगर किया जाता है)।
    2. स्टैंडबाय सर्वर समय-समय पर डेटाबेस के लेन-देन लॉग बैकअप को एक स्थानीय फ़ोल्डर में कॉपी करता है (निर्देशिका और शेड्यूल डिफ़ॉल्ट रूप से हर 15 मिनट में कॉन्फ़िगर किया जाता है)।
    3. स्टैंडबाय सर्वर ट्रांजेक्शन लॉग के बैकअप से ट्रांजेक्शन लॉग को पुनर्स्थापित करता है (शेड्यूल डिफ़ॉल्ट रूप से हर 15 मिनट में कॉन्फ़िगर किया जाता है)।

    डेटाबेस व्यवस्थापक डेटाबेस स्तर पर स्विचिंग प्रक्रिया को स्वचालित कर सकते हैं, जबकि एक सिस्टम व्यवस्थापक सर्वर से कनेक्ट होने के स्तर पर ऐसा कर सकता है।

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

    डेटाबेस पुनर्प्राप्ति मोड पूर्ण या बल्क-लॉग है।

    यह 2008 और उच्चतर संस्करण तक मानक संस्करण में उपलब्ध है।

    दो तरीके हैं:स्टैंडबाय सर्वर पर लगातार रिकवरी या देरी से रिकवरी।

सारांश

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

एंटरप्राइज़ संस्करण के लिए, ऑल्वेज़ऑन तकनीक का उपयोग करें।

लेन-देन लॉग शिपिंग पर फ़ेलओवर कॉन्फ़िगर करना

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

आइए हम DBMS स्तर पर लेन-देन लॉग शिपिंग पर डिबगिंग फ़ेलओवर के संभावित विकल्पों में से एक का पता लगाएं।

यह ध्यान दिया जाना चाहिए कि यह विधि MS SQL सर्वर इंस्टेंस के केवल एक उदाहरण के लिए आरक्षित सर्वर के लिए उपयुक्त है, क्योंकि, कई उदाहरणों के लिए, यह निर्धारित करने में समस्या है कि कौन से कार्य निष्पादित करने हैं और कौन से नहीं।

आइए चरणों के क्रम का वर्णन करें:

  1. स्रोत से नवीनतम फाइलों को कॉपी करने के लिए सभी कार्य करें (एक सुविचारित आर्किटेक्चर के साथ, डायरेक्टरी को एक्सेस किया जाना चाहिए, भले ही प्रिंसिपल सर्वर डाउन हो)
  2. स्रोत से फ़ाइलें कॉपी करने के लिए सभी कार्यों को अक्षम करें
  3. स्रोत से नवीनतम फ़ाइलों का उपयोग करके डेटाबेस को पुनर्स्थापित करने के लिए सभी कार्य निष्पादित करें
  4. स्रोत से नवीनतम फ़ाइलों का उपयोग करके सभी डेटाबेस पुनर्स्थापना कार्यों को अक्षम करें
  5. लॉग शिपिंग के लिए डेटाबेस को पुनर्स्थापित और प्रिंसिपल बनाएं, लेकिन प्राप्तकर्ता के बिना
  6. डेटाबेस का पूर्ण बैकअप बनाएं
  7. लेन-देन लॉग का बैकअप लेने के लिए कार्य बनाएं

नीचे, उपर्युक्त अनुक्रम को संग्रहीत प्रक्रिया के रूप में लागू करने का एक उदाहरण है।

यह ध्यान दिया जाना चाहिए कि एक लॉगिन (अधिमानतः एक डोमेन लॉगिन) को कॉन्फ़िगर करना महत्वपूर्ण है जिसके तहत लेनदेन लॉग का बैकअप बनाने के लिए कार्य किए जाएंगे।

लेन-देन लॉग शिपिंग के फ़ेलओवर को डीबग करने का एक उदाहरण

CREATE PROCEDURE [srv].[RunLogShippingFailover] @isfailover bit=1, @login nvarchar(255)=N'LOGIN', -- एक डोमेन लॉगिन जिसके तहत ट्रांजेक्शन लॉग्स का बैकअप बनाने के लिए कार्य निष्पादित किए जाएंगे। @backup_directory nvarchar(255)=N'DIRECTORY'- MS SQL सर्वर इंस्टेंसेस (उदाहरण के लिए, 'D:\Shared')AS /* के बीच ट्रांजेक्शन लॉग का बैकअप भेजने के लिए सार्वजनिक निर्देशिका, जब प्रिंसिपल सर्वर डाउन है अगर @ isfailover =1 पूरी तरह से स्वचालित है जब @isfailover 0 के बराबर है, कुछ नहीं होता है - यहां हमें स्टैंडबाय से प्रिंसिपल एक में शिपिंग लॉग बनाने की आवश्यकता है, और फिर हमें प्रिंसिपल सर्वर पर स्विच करने की आवश्यकता है और फिर लेन-देन लॉग शिपिंग को फिर से कॉन्फ़िगर करें। माना जाता है कि यह स्टैंडबाय सर्वर एक सर्वर से लेन-देन लॉग का बैकअप प्राप्त करता है */BEGIN --यदि स्टैंडबाय सर्वर पर शिफ्ट स्विच है, तो आपको स्रोत से नवीनतम फाइलों को कॉपी करने के लिए सभी कार्यों को करने की आवश्यकता है अगर(@isfailover=1) शुरू करें [job_id] से #jobs में [msdb].[dbo].[sysjobs] जहां [name] जैसे 'LSCopy%'; @job_id अद्वितीय पहचानकर्ता घोषित करें; जबकि (मौजूद है (#jobs से शीर्ष (1) 1 चुनें)) #jobs से शीर्ष (1) @job_id=[job_id] चुनें; EXEC [msdb] .dbo.sp_start_job @[email protected]_id आज़माएं; अंत प्रयास शुरू करें #jobs से अंत पकड़ हटाएं जहां [job_id][email protected]_id; अंत ड्रॉप तालिका #jobs; एंड - बैकअप सर्वर पर स्विच करते समय स्रोत से फ़ाइलों की प्रतिलिपि बनाने के लिए सभी कार्यों को अक्षम करें - उत्पादन सर्वर अपडेट [एमएसडीबी] पर लौटने पर स्रोत से फ़ाइलों की प्रतिलिपि बनाने के लिए सभी कार्यों को सक्षम करें। [डीबीओ]। [sysjobs] सेट [सक्षम] =मामला जब (@isfailover=1) तब 0 और 1 अंत जहां [नाम] जैसे 'LSCopy%'; --अगर हम एक स्टैंडबाय सर्वर में शिफ्ट हो जाते हैं, तो हमें स्रोत से नवीनतम फाइलों का उपयोग करके डेटाबेस को पुनर्स्थापित करने के लिए सभी कार्यों को करने की आवश्यकता होती है अगर(@isfailover=1) [msdb] से #jobs2 में [job_id] का चयन करना शुरू करें।[dbo ].[sysjobs] जहां [नाम] जैसे 'LSRestore%'; जबकि (मौजूद है (#jobs2 से शीर्ष (1) 1 चुनें) शुरू करें शीर्ष चुनें(1) @job_id=[job_id] #jobs2 से; EXEC [msdb] .dbo.sp_start_job @[email protected]_id आज़माएं; EXEC [msdb].dbo.sp_start_job @[email protected]_id; #jobs2 जहां [job_id][email protected]_id; एंड ड्रॉप टेबल #jobs2; एंड - स्टैंडबाय सर्वर पर स्विच करते समय स्रोत से नवीनतम फाइलों का उपयोग करके डेटाबेस को पुनर्स्थापित करने के लिए सभी कार्यों को अक्षम करें - उत्पादन सर्वर अपडेट [एमएसडीबी] पर लौटने पर नवीनतम फाइलों का उपयोग करके डेटाबेस को पुनर्स्थापित करने के लिए सभी कार्यों को सक्षम करें। [डीबीओ] .[sysjobs] सेट [सक्षम] =मामला जब (@isfailover=1) तब 0 और 1 अंत जहां [नाम] जैसे 'LSRestore%'; --जब एक स्टैंडबाय सर्वर पर स्विच किया जाता है, तो हम डेटाबेस को रीस्टोर करने योग्य बनाते हैं और प्राप्तकर्ता के बिना लॉग शिपिंग के लिए प्रिंसिपल बनाते हैं यदि(@isfailover=1) msdb.dbo.log_shipping_monitor_secondary से #dbs में [सेकेंडरी_डेटाबेस] को [नाम] के रूप में चुनना शुरू करते हैं जहां [सेकेंडरी_सर्वर ][email protected]@SERVERNAME; @db nvarchar (255) घोषित करें; जबकि (मौजूद है (# डीबीएस से शीर्ष (1) 1 का चयन करें)) शीर्ष चुनें (1) @ डीबी =[नाम] # डीबीएस से शुरू करें; पुनर्प्राप्ति के साथ DATABASE @db को पुनर्स्थापित करने का प्रयास शुरू करें; #dbs से अंत प्रयास शुरू करें, अंत में कैच को हटाएं, जहां [name][email protected]; अंत ड्रॉप तालिका #dbs; msdb.dbo.log_shipping_monitor_secondary से [सेकेंडरी_डेटाबेस] को [नाम] के रूप में #dbs2 में चुनें जहां [सेकेंडरी_सर्वर][email protected]@SERVERNAME; @jobId BINARY(16) घोषित करें; @command nvarchar (अधिकतम) घोषित करें; घोषित @dt nvarchar(255)=cast(YEAR(GetDate()) as nvarchar(255)) +'_'+cast(MONTH(GetDate()) as nvarchar(255)) +'_'+cast(DAY( GetDate ()) nvarchar (255) के रूप में) +'_'+cast(DatePart(hour,GetDate()) as nvarchar(255)) +'_'+cast(DatePart(min,GetDate()) as nvarchar(255) )) +'.trn'; @backup_job_name घोषित करें nvarchar(255); @schedule_name घोषित करें nvarchar(255); @disk nvarchar (255) घोषित करें; @uid अद्वितीय पहचानकर्ता घोषित करें; जबकि (मौजूद है (# डीबीएस 2 से शीर्ष (1) 1 का चयन करें) शुरू करें शीर्ष (1) @ डीबी =[नाम] # डीबीएस 2 से चुनें; @[email protected]_directory+N'\'[email protected]+N'.bak' सेट करें; @backup_job_name=N'LSBackup_'[email protected] सेट करें; @schedule_name=N'LSBackupSchedule_'[email protected]@SERVERNAME+N'_'[email protected] सेट करें; सेट @command=N'declare @disk nvarchar(max)='+N''''[email protected]_directory+N'\'[email protected]+'_'[email protected]+N'''' +N'BACKUP लॉग ['[email protected]+'] डिस्क पर =@disk with NOFORMAT, NOINIT, NAME ='+N''''[email protected]+N''''+N', SKIP, नोरविंड, NOUNLOAD, STATS =10;'; सेट @uid=newid(); बैकअप डेटाबेस @ डीबी टू डिस्क =@ डिस्क के साथ NOFORMAT, NOINIT, NAME =@db, SKIP, NOREWIND, NOUNLOAD, STATS =10; EXEC msdb.dbo.sp_add_job @[email protected]_job_name, @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'No विवरण उपलब्ध है।', @category_name=N'[Uncategorized (स्थानीय)]', @[email protected], @job_id =@jobId OUTPUT; EXEC msdb.dbo.sp_add_jobstep @[email protected], @[email protected]_job_name, @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @[email protected], @database_name=N'master', @flags=0; EXEC msdb.dbo.sp_update_job @job_id =@jobId, @start_step_id =1; EXEC msdb.dbo.sp_add_jobschedule @[email protected], @[email protected]_job_name, @enabled=1, @freq_type=4, @freq_interval=1, @freq_subday_type=4, @freq_subday_interval=5, @freq_relative_interval=0, @freq_recurrence_factor=0, @active_start_date=20171009, @active_end_date=99991231, @active_start_time=0, @active_end_time=235959, @[email protected]; EXEC msdb.dbo.sp_add_jobserver @job_id =@jobId, @server_name =N'(local)'; # dbs2 जहां [name][email protected]; एंड ड्रॉप टेबल #dbs2; अंतEND

प्रिंसिपल सर्वर पर लौटने के लिए, ट्रांजेक्शन लॉग शिपिंग को स्टैंडबाय सर्वर से प्रिंसिपल सर्वर पर कॉन्फ़िगर करना आवश्यक है, और फिर फेलओवर की डिबगिंग करने के लिए। फिर, प्रिंसिपल सर्वर प्रोडक्शन सर्वर बन जाएगा। उसके बाद, आपको ट्रांजेक्शन लॉग शिपिंग को प्रोडक्शन सर्वर से स्टैंडबाय वन में कॉन्फ़िगर करने की आवश्यकता है।

लेन-देन लॉग शिपिंग की निगरानी के लिए स्वचालित समायोजन कॉन्फ़िगर करना

लेन-देन लॉग शिपिंग की निगरानी के लिए, LSAlert_ कार्य और निगरानी सर्वर पर एक रिपोर्ट का उपयोग करें। ऐसा करने के लिए, मॉनिटरिंग सर्वर पर इंस्टेंस पर राइट-क्लिक करें और फिर रिपोर्ट/मानक रिपोर्ट/लेनदेन लॉग शिपिंग स्थिति चुनें।

अक्सर, समय के साथ, मॉनिटरिंग सर्वर (यदि यह एक उत्पादन नहीं है) उत्पादन सर्वर पर डेटाबेस ट्रांजेक्शन लॉग का बैकअप बनाने में हाल ही में गलत समय लेता है। परिणामस्वरूप, हमें झूठी चेतावनियों का सामना करना पड़ता है।

निम्न स्क्रिप्ट का उपयोग करके समस्या का समाधान संभव है:

लेनदेन लॉग शिपिंग की निगरानी के लिए समायोजन को कॉन्फ़िगर करने का एक उदाहरण

प्रक्रिया बनाएं [srv]। [AutoCorrectMonitorLogShipping] ASBEGIN /* लेन-देन लॉग शिपिंग की निगरानी का समायोजन */ NOCOUNT ON; अद्यतन t2 सेट t2। [last_backup_date] =t1। [बैकअपफिनिशडेट], टी 2। ]=RIGHT(t1.[PhysicalDeviceName], CHARINDEX('\',REVERSE(t1.[PhysicalDeviceName]),1)-1) [PRODUCTION_INSTANCE_NAME] से।[SRV].[inf].[vServerLastBackupDB] t1 इनर जॉइन के रूप में [msdb].[dbo]। 

हम समय के साथ एक संग्रहीत कार्यविधि के लिए कॉल को स्वचालित कर सकते हैं। उदाहरण के लिए, हम एजेंट में एक उपयुक्त कार्य बना सकते हैं और इसे हर 5 मिनट में शेड्यूल कर सकते हैं। बेशक, प्रोडक्शन सर्वर को बैकअप सर्वर (सर्वर ऑब्जेक्ट्स\लिंक्ड सर्वर) से लिंक होना चाहिए।

यहां हम SRV डेटाबेस में [inf].[vServerLastBackupDB] दृश्य का उपयोग करते हैं जो नवीनतम डेटाबेस बैकअप को परिभाषित करता है:

vServerLastBackupDB दृश्य को लागू करने का एक उदाहरण:

 क्रिएट व्यू [इन्फ]। ' फिर 'अंतर' और 'अन्य' अंत, बी एस। /1024/1024 बैकअप साइजएमबी के रूप में, rownum =row_number() ओवर (बी.एस. द्वारा विभाजन। [डेटाबेस_नाम], बीएस द्वारा ऑर्डर टाइप करें। .[server_name], bs.[user_name] FROM msdb.dbo.backupset bs INNER JOIN msdb.dbo.backupmediafamily bmf ON [bs]। , [डेटाबेस_नाम] [DBName] के रूप में, [user_name] के रूप में [ USerName], [बैकअप_टाइप] [बैकअप टाइप] के रूप में, [बैकअप_स्टार्ट_डेट] [बैकअपस्टार्टडेट] के रूप में, [बैकअप_फिनिश_डेट] [बैकअपफिनिशडेट] के रूप में, [बैकअपसाइजएमबी], -- असम्पीडित आकार [लॉजिकल डिवाइसनाम], [फिजिकलडिवाइसनाम], [फर्स्ट_एलएसएन] के रूप में , [last_lsn] [LastLSN] के रूप में backup_ctewhere rownum =1 से;

परिणाम

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

संदर्भ:

  • एमएसडीबी
  • उपलब्ध SQL सर्वर 2017 संस्करण
  • हमेशा चालू
  • 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. मैं SQL सर्वर में ऑटो वृद्धि मूल्य के साथ स्ट्रिंग कैसे जोड़ूं?

  2. SQL सर्वर 2019 में ट्रिगर इवेंट प्रकारों की श्रेणीबद्ध सूची

  3. कैसे जांचें कि इसे बनाने से पहले कोई संग्रहीत कार्यविधि मौजूद है या नहीं?

  4. SQL सर्वर में एक अस्थायी तालिका और तालिका चर के बीच क्या अंतर है?

  5. Oracle और SQL सर्वर के बीच रिक्त स्थान को संभालने का अंतर