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

लेन-देन संबंधी प्रतिकृति कैसे बनाएं

इस लेख में, मैं यह प्रदर्शित करने जा रहा हूँ कि लेन-देन संबंधी प्रतिकृति कैसे बनाई जाती है।

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

जब हम लेन-देन संबंधी प्रतिकृति बनाते हैं, तो SQL सर्वर निम्न SQL कार्य बनाता है

  1. स्नैपशॉट एजेंट कार्य: स्नैपशॉट एजेंट कार्य प्रकाशन डेटाबेस ऑब्जेक्ट का एक स्नैपशॉट बनाता है। स्नैपशॉट या तो नेटवर्क स्थान या हार्ड में संग्रहीत किया जाता है
  2. लॉग रीडर जॉब: लॉग रीडर जॉब लगातार प्रकाशनों की निगरानी करता है। यह स्कीमा परिवर्तनों का पता लगाता है और प्रश्नों को सम्मिलित, अद्यतन और हटाता है और उन्हें प्रतिकृति के लिए चिह्नित करता है। लॉग रीडर “Sp_Replcmds . का उपयोग करता है “प्रतिकृति के लिए चिह्नित आदेशों को लागू करने के लिए।

डेमो सेटअप:

इस डेमो के लिए, मैंने एक ही डेटाबेस सर्वर पर दो SQL सर्वर इंस्टेंस बनाए हैं। उदाहरण के नाम और विवरण निम्नलिखित हैं:

डेमो सेट करते समय, मैंने डिस्ट्रीब्यूटर नहीं बनाया है, इसलिए पब्लिशर इंस्टेंस भी डिस्ट्रीब्यूटर के रूप में काम करेगा। मैंने “ग्राहक . बनाया है एडवेंचरवर्क्स2014 डेटाबेस में तालिका। मैं ग्राहक तालिका के डेटा को दोहराने जा रहा हूं। इसलिए, इसे प्रकाशक द्वारा एक लेख कहा जाएगा।

प्रकाशक कॉन्फ़िगर करें

प्रकाशक को कॉन्फ़िगर करने के लिए, SQL सर्वर प्रबंधन स्टूडियो खोलें, डेटाबेस आवृत्ति का विस्तार करें, प्रतिकृति expand का विस्तार करें नोड और राइट-क्लिक करें स्थानीय प्रकाशन और नया प्रकाशन select चुनें ।

नया प्रकाशन विज़ार्ड प्रारंभ होता है। संवाद बॉक्स पर, विज़ार्ड का संक्षिप्त सारांश प्रदान किया जाता है। इस प्रारंभिक पृष्ठ को दोबारा न दिखाएं . को चेक करके आप इस संवाद बॉक्स के आगे प्रकटन को छोड़ सकते हैं चेकबॉक्स। अगला क्लिक करें अगले डायलॉग बॉक्स में जाने के लिए।

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

अगले संवाद बॉक्स में, प्रकाशन प्रकारों की सूची से प्रकाशन प्रकार का चयन करें, और उनके विवरण प्रकाशन प्रकार विवरण में भी दिए गए हैं पाठ बॉक्स। लेन-देन संबंधी प्रकाशन चुनें और अगला . क्लिक करें ।

अगले संवाद बॉक्स में, प्रकाशन प्रकारों की सूची से प्रकाशन प्रकार का चयन करें, और उनके विवरण प्रकाशन प्रकार विवरण में भी दिए गए हैं पाठ बॉक्स। लेन-देन संबंधी प्रकाशन चुनें और अगला . क्लिक करें ।

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

इस डेमो के लिए, हम ग्राहक . का डेटा फ़िल्टर नहीं कर रहे हैं तालिका, इसलिए इस संवाद बॉक्स को छोड़ दें और अगला click क्लिक करें ।

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

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

अगले संवाद बॉक्स में, SQL एजेंट सुरक्षा को कॉन्फ़िगर करें। एजेंट सुरक्षा को कॉन्फ़िगर करने के लिए, सुरक्षा सेटिंग . क्लिक करें बटन। स्नैपशॉट एजेंट सुरक्षा "संवाद बॉक्स खुलता है। संवाद बॉक्स में, वह खाता निर्दिष्ट करें जिसके अंतर्गत ग्राहक प्रकाशक से जुड़ता है। इसके अलावा, खाता जानकारी निर्दिष्ट करें जिसके तहत SQL सर्वर एजेंट कार्य निष्पादित किया जाएगा। इस डेमो के लिए, SQL सर्वर कार्य SQL सर्वर एजेंट सेवा खाते के अंतर्गत निष्पादित होते हैं, इसलिए SQL सर्वर एजेंट सेवा खाते के अंतर्गत चलाएँ चुनें विकल्प। सदस्य SQL लॉगिन का उपयोग करके प्रकाशक से जुड़े रहेंगे, इसलिए निम्न SQL सर्वर लॉगिन का उपयोग करके चुनें। विकल्प और SQL लॉगिन और पासवर्ड निर्दिष्ट करें। इस डेमो में, “sa . का उपयोग करके कनेक्ट करें " लॉग इन करें। ठीकक्लिक करें डायलॉग बॉक्स बंद करने के लिए और अगला click क्लिक करें ।

अगले संवाद बॉक्स में, आप प्रकाशन बनाने के लिए एक प्रकाशन बनाना या स्क्रिप्ट तैयार करना चुन सकते हैं। प्रकाशन बनाने के लिए एक स्क्रिप्ट फ़ाइल जेनरेट करें Select चुनें प्रतिकृति चरणों की स्क्रिप्ट उत्पन्न करने का विकल्प। हम प्रकाशन बनाएंगे, इसलिए प्रकाशन बनाएं select चुनें विकल्प चुनें और अगला . क्लिक करें ।

अगले संवाद बॉक्स में, प्रकाशन का नाम निर्दिष्ट करें, प्रतिकृति बनाने के लिए किए जाने वाले कार्यों के सारांश की समीक्षा करें और समाप्त करें पर क्लिक करें। प्रकाशन बनाने और नया प्रकाशन को बंद करने के लिए विज़ार्ड

जैसा कि मैंने लेख की शुरुआत में उल्लेख किया है, जब हम एक लेन-देन प्रतिकृति बनाते हैं, तो यह लॉग रीडर एजेंट जॉब, स्नैपशॉट एजेंट जॉब और एक्सपायर्ड सब्सक्रिप्शन के लिए क्लीनअप जॉब बनाता है।

उन्हें देखने के लिए, SQL सर्वर एजेंट का विस्तार करें , फिर नौकरियों . को विस्तृत करें ।

एक बार प्रकाशन कॉन्फ़िगर हो जाने के बाद, ग्राहकों को कॉन्फ़िगर करें।

सदस्य को कॉन्फ़िगर करें

सब्सक्राइबर को कॉन्फ़िगर करने के लिए, पहले, किसी अन्य SQL इंस्टेंस से कनेक्ट करें। इंस्टेंस से कनेक्ट होने के बाद, प्रतिकृति expand को विस्तृत करें और स्थानीय सदस्यता right पर राइट-क्लिक करें ।

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

अगले डायलॉग बॉक्स में, प्रकाशन सर्वर चुनें। प्रकाशक क्लिक करें ड्रॉप-डाउन बॉक्स में क्लिक करें और SQL सर्वर प्रकाशक ढूंढें click क्लिक करें . प्रकाशक से जुड़ने के लिए एक डायलॉग बॉक्स खुलता है। सर्वर नाम . में टेक्स्ट बॉक्स में, प्रकाशक सर्वर का होस्ट नाम निर्दिष्ट करें और कनेक्ट . क्लिक करें ।

प्रकाशक के साथ संबंध स्थापित हो जाने के बाद, Customer_Publication और AdventureWorks2014 डेटाबेस और प्रकाशन . में दिखाया जाएगा पाठ बॉक्स। ग्राहक_प्रकाशन Select चुनें और अगला . क्लिक करें ।

अगले संवाद बॉक्स में, वितरण एजेंट स्थान चुनें। इस डेमो के लिए, मैं सदस्यता प्राप्त करें का उपयोग करूंगा , इसलिए प्रत्येक एजेंट को उसके ग्राहक पर चलाएँ . चुनें विकल्प चुनें और अगला . क्लिक करें :

अगले संवाद बॉक्स में, सदस्यता डेटाबेस का चयन करें। मैंने Customer_DB . नाम का एक डेटाबेस बनाया है , जो एक ग्राहक डेटाबेस के रूप में कार्य करता है। सदस्यता डेटाबेस . में ड्रॉप-डाउन बॉक्स में, Customer_DB का चयन करें सूची से डेटाबेस। सदस्यता डेटाबेस का चयन करने के बाद, अगला click क्लिक करें ।

अगले संवाद बॉक्स में, वितरण एजेंट सुरक्षा कॉन्फ़िगर करें। सुरक्षा को कॉन्फ़िगर करने के लिए, […] बटन क्लिक करें। वितरण एजेंट सुरक्षा डायलॉग बॉक्स खुलता है। पहले खंड में, वह डोमेन खाता निर्दिष्ट करें जिसके अंतर्गत वितरण एजेंट प्रक्रिया चलेगी। वितरण एजेंट SQL सर्वर एजेंट सेवा के अंतर्गत चलेगा, इसलिए SQL सर्वर एजेंट सेवा खाते के अंतर्गत चलाएँ चुनें विकल्प।

यहां मैंने वितरण सर्वर को कॉन्फ़िगर नहीं किया है, इसलिए प्रकाशक वितरक के रूप में कार्य करता है। सब्सक्राइबर एक SQL लॉगिन का उपयोग करके प्रकाशक/वितरक से कनेक्ट होगा। वितरक को जोड़ने के लिए, “sa” . का उपयोग करें लॉगिन और पासवर्ड।

ठीकक्लिक करें डायलॉग बॉक्स को बंद करने के लिए। वितरण एजेंट सुरक्षा संवाद बॉक्स में, अगला क्लिक करें ।

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

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

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

अगले संवाद बॉक्स में, सदस्यता बनाने के लिए किए गए कार्यों की एक सूची दी गई है। आप उनकी समीक्षा कर सकते हैं और समाप्त . क्लिक कर सकते हैं ।

सदस्यता बन जाने के बाद, आप सदस्यता को स्थानीय सदस्यता . के अंतर्गत देख सकते हैं नोड.

प्रतिकृति स्थिति देखें

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

सारांश:

इस लेख में, मैंने समझाया:

  1. लेन-देन संबंधी प्रतिकृति का एक उच्च-स्तरीय सारांश।
  2. डेमो सेटअप।
  3. प्रतिकृति प्रकाशन को कैसे कॉन्फ़िगर करें।
  4. प्रतिकृति ग्राहकों को कैसे कॉन्फ़िगर करें।

उपयोगी टूल:

SQL सर्वर के लिए dbForge डेटा तुलना - बड़े डेटा के साथ काम करने में सक्षम शक्तिशाली SQL तुलना उपकरण।

dbForge स्कीमा SQL सर्वर के लिए तुलना करें - विश्वसनीय उपकरण जो 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

  2. SQL में स्ट्रिंग्स को कैसे ट्रिम करें

  3. MS SQL में गुम अनुक्रमणिका या कुछ ही समय में अनुकूलन

  4. डेटाबेस ट्रिगर पसंद नहीं है? आप बस यह नहीं जानते कि उनके साथ कैसे काम करना है!

  5. SQL में DECODE फंक्शन का क्या उपयोग है?