Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

SQL सर्वर ट्रांजैक्शनल रेप्लिकेशन में बैकअप से आर्टिकल्स जोड़ें और पुनः आरंभ करें

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

परिचय

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

  1. बैकअप के साथ इनिशियलाइज़ किए गए मौजूदा पब्लिकेशन में नए आर्टिकल्स जोड़ें।
  2. बैकअप के साथ पहले से इनिशियलाइज़ किए गए सब्सक्राइबर को पुनः आरंभ करें।

परिदृश्य 1: बैकअप के साथ इनिशियलाइज़ किए गए मौजूदा पब्लिकेशन में नए आर्टिकल्स कैसे जोड़ें:

हमारे परिदृश्य में, ट्रांजैक्शनल रेप्लिकेशन को पहले से ही बैकअप फाइल का उपयोग करके कॉन्फिगर किया गया है:

-पब्लिशर + डिस्ट्रीब्यूटर: Node1 -सब्सक्राइबर: Node2 -पब्लिशर डेटाबेस: ABC_Pub -सब्सक्राइबर डेटाबेस: ABC_Sub -पब्लिकेशन: ABC_Pub_Bkp -सब्सक्रिप्शन: ABC_Sub_Bkp -आर्टिकल्स: Cars, bikes

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

प्रक्रिया चरण अवलोकन:

  1. किसी भी लोकप्रिय इम्पोर्ट/एक्सपोर्ट मेथड का उपयोग करके पब्लिशर से सब्सक्राइबर तक नए आर्टिकल्स के लिए डेटा सिंक्रनाइज़ करें।
  • पब्लिशर डेटाबेस में नई टेबल्स जोड़ें और कुछ पंक्तियाँ डालें।
  • नई टेबल्स के लिए क्रिएट डेफिनिशन को स्क्रिप्ट करें और सब्सक्राइबर डेटाबेस पर निष्पादित करें।
  • पब्लिशर और सब्सक्राइबर के बीच डेटा सिंक करने के लिए एक्सपोर्ट/इम्पोर्ट मेथड का उपयोग करें।
  1. लॉग रीडर और डिस्ट्रीब्यूटर एजेंट जॉब्स को रोकें।
  2. GUI का उपयोग करके पब्लिकेशन में नए आर्टिकल्स जोड़कर कॉन्फिगरेशन पूरा करें।
  3. लॉग रीडर और डिस्ट्रीब्यूटर एजेंट जॉब्स को सक्षम और शुरू करें।
  4. पब्लिशर पर नया डेटा डालें।
  5. सब्सक्राइबर पर डेटा मान्य करें।

चरण 1: इम्पोर्ट/एक्सपोर्ट मेथड का उपयोग करके पब्लिशर से सब्सक्राइबर तक नए आर्टिकल्स के लिए डेटा सिंक्रनाइज़ करें।

मौजूदा रेप्लिकेशन में दो आर्टिकल्स हैं, और मैं पब्लिशर डेटाबेस के लिए दो और टेबल्स बनाऊंगा और बाद में उन्हें रेप्लिकेशन में जोड़ूंगा।

मौजूदा रेप्लिकेशन पर आर्टिकल्स:

मैंने पब्लिशर डेटाबेस में दो नई टेबल्स बनाईं और प्रत्येक टेबल में कुछ पंक्तियाँ जोड़ीं। अब दोनों टेबल्स के लिए क्रिएट डेफिनिशन को स्क्रिप्ट करें और सब्सक्राइबर डेटाबेस पर निष्पादित करें।

पब्लिशर डेटाबेस पर दो नई टेबल्स बनाई गईं:

पब्लिशर से डेफिनिशन का उपयोग करके सब्सक्राइबर पर टेबल्स बनाई गईं:

अब इम्पोर्ट/एक्सपोर्ट मेथड का उपयोग करके पब्लिशर और सब्सक्राइबर के बीच डेटा सिंक करें:

पब्लिशर डेटाबेस पर राइट क्लिक करें -> एक्सपोर्ट डेटा चुनें -> आवश्यक जानकारी पास करने के लिए विज़ार्ड का पालन करें।

सोर्स सर्वर (पब्लिशर) और डेटाबेस नाम चुनें:

अगले चरण में, डेस्टिनेशन सर्वर (सब्सक्राइबर) और डेटाबेस नाम चुनें:

डेटा ट्रांसफर करने के लिए टेबल नाम चुनें और अगला क्लिक करें:

अगले चरण में, एक्सपोर्ट सफल रहा:

डेटा मान्य करना: जैसा कि आप देख सकते हैं, पब्लिशर और सब्सक्राइबर के बीच डेटा सिंक हो गया है।

2. लॉग रीडर और डिस्ट्रीब्यूटर एजेंट जॉब्स को रोकें–

आर्टिकल्स के साथ कोई भी ऑपरेशन करने से पहले रेप्लिकेशन एजेंट्स को रोकना सर्वोत्तम अनुशंसित अभ्यास है।

3. GUI का उपयोग करके पब्लिकेशन में नए आर्टिकल्स जोड़कर कॉन्फिगरेशन पूरा करें

रेप्लिकेशन फोल्डर के तहत पब्लिकेशन पर राइट क्लिक करें और प्रॉपर्टीज चुनें - > आर्टिकल्स पेज पर नेविगेट करें -> Show only checked articles in the list को अनचेक करें -> objects to publish के तहत दो नए आर्टिकल्स चुनें यानी हमारे मामले में Country और Customer और कॉन्फिगरेशन खत्म करने के लिए OK पर क्लिक करें।

4. लॉग रीडर और डिस्ट्रीब्यूटर एजेंट जॉब्स को सक्षम और शुरू करें –

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

5. पब्लिशर पर नया डेटा डालें।

अब मैं पब्लिशर टेबल्स पर डेटा जोड़ूंगा ताकि प्रत्येक टेबल पर 5 और रिकॉर्ड्स जोड़े जा सकें।

6. सब्सक्राइबर पर डेटा मान्य करें:

डेटा मान्य करने के बाद, आप अब देखेंगे कि 5 नए रिकॉर्ड्स जोड़े गए हैं (कुल 10 पंक्तियों के साथ) दोनों टेबल्स पर। वही सब्सक्राइबर को रेप्लिकेट किए गए हैं।

रेप्लिकेशन स्वास्थ्य स्थिति:

परिदृश्य 2: बैकअप के साथ पहले से इनिशियलाइज़ किए गए सब्सक्राइबर को कैसे पुनः आरंभ करें।

दूसरे परिदृश्य पर आगे बढ़ते हैं जहां कभी-कभी हम रेप्लिकेशन के साथ किसी भी सिंक्रनाइज़ेशन मुद्दों को ठीक करने के लिए अंतिम विकल्प के रूप में सब्सक्राइबर को पुनः आरंभ करने के लिए छोड़ दिए जाते हैं।

हमारे मामले में, हमने बैकअप के माध्यम से रेप्लिकेशन को इनिशियलाइज़ किया है और सब्सक्राइबर को पुनः आरंभ करने के लिए निम्नलिखित प्रक्रिया चरण हैं।

  1. लॉग रीडर, डिस्ट्रीब्यूटर एजेंट और डिस्ट्रीब्यूटर क्लीनअप जॉब्स को रोकें।
  2. पब्लिशर डेटाबेस के लिए फुल बैकअप लें और T-लॉग बैकअप जॉब को अक्षम करें।
  3. सब्सक्राइबर डेटाबेस पर रिप्लेस के साथ डेटाबेस को पुनर्स्थापित करें।
  4. डेटा मान्य करें।
  5. sp_addsubscription चलाएं
  6. लॉग रीडर और डिस्ट्रीब्यूटर जॉब्स सक्षम करें, पब्लिशर डेटाबेस पर नए रिकॉर्ड्स डालें और सब्सक्राइबर पर डेटा मान्य करें।

1. लॉग रीडर और डिस्ट्रीब्यूटर एजेंट जॉब्स को रोकें।

आर्टिकल्स के साथ कोई भी ऑपरेशन करने से पहले रेप्लिकेशन एजेंट्स को रोकना सर्वोत्तम अनुशंसित अभ्यास है।

2. पब्लिशर डेटाबेस के लिए फुल बैकअप लें और T-लॉग बैकअप जॉब को अक्षम करें।

पब्लिशर सर्वर पर डेटाबेस ABC_Pub के लिए फुल बैकअप ट्रिगर करें और यदि कोई हो तो T-लॉग बैकअप जॉब को अक्षम करें।

3. सब्सक्राइबर डेटाबेस पर रिप्लेस और नोरेकवरी के साथ डेटाबेस को पुनर्स्थापित करें

सब्सक्राइबर डेटाबेस ABC_Sub को रिप्लेस के साथ पुनर्स्थापित करें:

4. पब्लिशर और सब्सक्राइबर डेटाबेस के बीच डेटा मान्य करें।

डेटा मान्य किया गया है और जैसा कि निम्नलिखित स्नैपशॉट में दिखाया गया है, Cars और Bikes दोनों टेबल्स में 5-5 रिकॉर्ड्स हैं और Country और customer टेबल में 10-10 रिकॉर्ड्स हैं।

5. sp_addsubscription चलाएं :

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

6. लॉग रीडर, डिस्ट्रीब्यूटर एजेंट और क्लीनअप जॉब्स सक्षम करें। पब्लिशर डेटाबेस पर नए रिकॉर्ड्स डालें और सब्सक्राइबर पर डेटा मान्य करें।

रेप्लिकेशन एजेंट जॉब्स सक्षम करें और शुरू करें:

निम्नलिखित दो रेप्लिकेटेड टेबल्स पर अतिरिक्त 5 रिकॉर्ड्स डालें:

अब सब्सक्राइबर डेटाबेस पर डेटा मान्य करें:

मान्यता अब पूरी हो गई है और 5 नए जोड़े गए रिकॉर्ड्स सब्सक्राइबर को रेप्लिकेट किए गए हैं और सभी टेबल्स में अब 10-10 रिकॉर्ड्स हैं।

रेप्लिकेशन के लिए हेल्थ चेक:

निष्कर्ष

मुझे उम्मीद है कि ऊपर चर्चा किए गए दोनों परिदृश्य बैकअप के माध्यम से पहले से इनिशियलाइज़ किए गए सब्सक्राइबर में नए आर्टिकल्स जोड़ने और पुनः आरंभ करने के लिए उपयोगी होंगे।

कोई भी टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। आप हमारे साथ बातचीत भी शुरू कर सकते हैं।


  1. मौजूदा SQL Server AlwaysOn डेटाबेस के लिए लॉग शिपिंग: एक व्यावहारिक DR गाइड मौजूदा SQL Server AlwaysOn डेटाबेस के लिए लॉग शिपिंग: एक व्यावहारिक DR गाइड

    यह पोस्ट चर्चा करती है कि मौजूदा Microsoft® SQL Server® AlwaysOn-कॉन्फ़िगर डेटाबेस के साथ लॉग शिपिंग कैसे सेट अप करें, जो एक डिजास्टर रिकवरी (DR) समाधान है। परिचय AlwaysOn उपलब्धता समूह (AG) सुविधा एक उच्च-उपलब्धता और डिजास्टर रिकवरी समाधान है जो डेटाबेस मिररिंग का एक एंटरप्राइज-लेवल विकल्प प्रदान

  1. SQL Server Query Store मास्टर करें: क्वेरी प्रदर्शन को कैप्चर, विश्लेषण और हल करें SQL Server Query Store मास्टर करें: क्वेरी प्रदर्शन को कैप्चर, विश्लेषण और हल करें

    माइक्रोसॉफ्ट® SQL Server® Query Store, जैसा कि नाम से पता चलता है, एक स्टोर की तरह है जो निष्पादित क्वेरी, क्वेरी रनटाइम निष्पादन आंकड़े, और निष्पादन योजनाओं के डेटाबेस इतिहास को कैप्चर करता है। चूंकि डेटा डिस्क पर संग्रहीत होता है, आप किसी भी समय समस्या निवारण उद्देश्यों के लिए क्वेरी स्टोर डेटा पु

  1. PostgreSQL प्रतिकृति समझाया: उच्च उपलब्धता और डिजास्टर रिकवरी PostgreSQL प्रतिकृति समझाया: उच्च उपलब्धता और डिजास्टर रिकवरी

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