एमएस SQL ​​सर्वर के स्कीमा और डेटाबेस डेटा को सिंक्रनाइज़ करने के लिए तुलनाकर्ताओं की तुलना

परिवर्तन सिंक्रनाइज़ेशन के लिए समग्र आवश्यकता का विवरण


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

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

एक नियम के रूप में, डेटाबेस एक समर्पित वातावरण में विकसित किए जाते हैं। फिर परिवर्तनों को विभिन्न परीक्षणों (इकाई परीक्षण, ऑटोटेस्ट, लोड परीक्षण, आदि) के लिए परीक्षण वातावरण में स्थानांतरित किया जाता है। और विकास और निरीक्षण के सभी चरणों के बाद ही औद्योगिक वातावरण में परिवर्तन का हस्तांतरण होता है।

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

ऐसे मामले हैं जब विकास पर्यावरण के बाहर परिवर्तन लागू किए गए थे और उन्हें इसे स्थानांतरित करने की आवश्यकता है। लेकिन ऐसी स्थितियों को कम से कम किया जाना चाहिए ताकि सिस्टम के सही संचालन के लिए कोई खतरा न हो।


सामान्य तौर पर, परिवर्तनों के हस्तांतरण का क्रम निम्नानुसार दर्शाया जा सकता है:
  1. विकास के माहौल के बीच।
  2. विकास के वातावरण से लेकर परीक्षण के वातावरण तक।
  3. परीक्षण वातावरण के बीच। यदि आप ऐसे परिवर्तन करते हैं जो विकास परिवेश से किसी भी परीक्षण वातावरण में नहीं आए हैं, तो ऐसे परिवर्तन भी विकास के वातावरण में स्थानांतरित किए जाते हैं। एक नियम के रूप में, विकास पर्यावरण से परीक्षण वातावरण तक सभी परिवर्तन होने चाहिए, लेकिन इसके विपरीत नहीं।
  4. परीक्षण वातावरण से लेकर पूर्व-औद्योगिक वातावरण तक, जहां प्रत्येक विशिष्ट औद्योगिक वातावरण के लिए परिवर्तन एकत्र किए जाते हैं, नवीनतम एकीकरण परीक्षण किए जाते हैं, साथ ही पूर्व-निर्दिष्ट मंचन विफलताओं के मामले में परिवर्तन वापस करने के लिए परीक्षण किए जाते हैं।
  5. पूर्व-औद्योगिक वातावरण से औद्योगिक वातावरण तक जल्दी से किए गए परिवर्तनों को वापस रोल करने की क्षमता के साथ।

उदाहरण के लिए, पर्यावरण के बीच परिवर्तनों को सिंक्रनाइज़ करने के लिए विभिन्न उपकरण हैं:
  1. विजुअल स्टूडियो तुलना
  2. SQL सर्वर एकीकरण सेवाएँ
  3. डेबर्ट द्वारा dbForge तुलना
  4. क्वेस्ट सॉफ्टवेयर ApexSQL
  5. RedGate समाधान

सामान्यतया, .NET में लिखे गए समाधान (उदाहरण के लिए, C # में लिखे गए) MS SQL सर्वर के साथ काम करते हैं।

यह आलेख Devart, क्वेस्ट सॉफ़्टवेयर और RedGate से टूल का उपयोग करके एक MS SQL सर्वर डेटाबेस में परिवर्तन को एक सर्वर से दूसरे सर्वर पर स्थानांतरित करने के उदाहरण पर चर्चा करेगा। अंत में, इन उपकरणों की तुलना की जाएगी।

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

Devart Solutions


Devart के MS SQL सर्वर डेटाबेस सिंक्रोनाइज़ेशन सॉल्यूशंस को DbForge Data Comparer , DbForge Schema Comparer और dbForge तुलना SQL सर्वर के लिए बंडल कहा जाता है। पहले दो MS SQL सर्वर के लिए DbForge स्टूडियो में और तीसरे सीधे SSMS में एकीकृत हैं।
विस्तृत Devart समाधान की समीक्षा

डेटाबेस स्कीमा सिंक्रनाइज़ेशन


स्टूडियो खोलने के बाद, "डेटाबेस सिंक" टैब पर जाएं और "नया कनेक्शन" बटन पर क्लिक करके एक नया कनेक्शन बनाएं:


खुलने वाली कनेक्शन सेटिंग्स विंडो में, आपको एमएस SQL ​​सर्वर इंस्टेंस (स्रोत सर्वर) से कनेक्ट करने के लिए आवश्यक डेटा दर्ज करना होगा। कृपया ध्यान दें कि एमएस SQL ​​सर्वर, विंडोज, सक्रिय निर्देशिका प्रमाणीकरण के अलावा, एमएफए के माध्यम से प्रमाणीकरण प्रकट हुआ है। सभी आवश्यक फ़ील्ड भरने के बाद, कनेक्शन का परीक्षण करने के लिए "टेस्ट कनेक्शन" बटन पर क्लिक करें:


कनेक्शन स्थापित होने के बाद, निम्न संवाद बॉक्स प्रकट होता है:


अगला, संवाद बॉक्स में "ओके" बटन और कनेक्शन सेटिंग्स विंडो में एक ही बटन पर क्लिक करें।

अब एक नया कनेक्शन सामने आया है:


इसी तरह, आपको एमएस SQL ​​सर्वर के सभी आवश्यक उदाहरणों को कनेक्ट करने की आवश्यकता है (इस उदाहरण में, आपको गंतव्य सर्वर के लिए एक कनेक्शन बनाने की आवश्यकता है)।

उसके बाद, स्रोत सर्वर पर डेटाबेस स्कीमा और गंतव्य सर्वर पर डेटाबेस की तुलना करने की प्रक्रिया को कॉन्फ़िगर करने के लिए "नई स्कीमा तुलना" पर क्लिक करें:


सर्किट की तुलना करने के लिए एक सेटिंग विंडो दिखाई देगी।

स्रोत पैनल में बाईं ओर टैब "स्रोत और लक्ष्य" पर, आपको चयन करना होगा:
  1. टाइप
  2. संबंध
  3. स्रोत डेटाबेस

लक्ष्य पैनल में दाईं ओर आपको चयन करने की आवश्यकता है:
  1. टाइप
  2. संबंध
  3. रिसीवर डेटाबेस

कृपया ध्यान दें कि प्रकार में आप न केवल डेटाबेस, बल्कि स्क्रिप्ट निर्देशिका, स्नैपशॉट, संस्करण नियंत्रण और बैकअप भी चुन सकते हैं। हमारे मामले में, हम "डेटाबेस" प्रकार में चयन करते हैं।

सभी सेटिंग्स का चयन करने के बाद, आपको डेटाबेस स्कीमा के सिंक्रनाइज़ेशन को जारी रखने के लिए "अगला" बटन पर क्लिक करना होगा।

यदि दो शुरू में समान डेटाबेस की तुलना की जाती है, तो आप तुरंत "तुलना" बटन पर क्लिक करके स्कीमा की तुलना शुरू कर सकते हैं।

यदि आवश्यक हो, तो आप बाईं विंडो में संबंधित आइटम पर क्लिक करके किसी भी सेटिंग टैब पर जा सकते हैं।

किसी भी स्तर पर, आप विंडो के निचले भाग में "कमांड लाइन सहेजें" बटन पर क्लिक करके सेटिंग्स को बैट-फाइल के रूप में सहेज सकते हैं।

ज्यादातर मामलों में, जब शुरू में समान डेटाबेस के बीच परिवर्तन होते हैं, तो बस "तुलना" बटन पर क्लिक करें। लेकिन कार्यक्षमता का अध्ययन करने के लिए, आपको "अगला" पर क्लिक करना होगा:


विकल्प टैब में, आप विभिन्न सेटिंग्स सेट कर सकते हैं या उन्हें डिफ़ॉल्ट रूप से छोड़ सकते हैं:


"स्कीमा मैपिंग" टैब में, आप योजनाओं के मानचित्रण को नाम से कॉन्फ़िगर कर सकते हैं:


"टेबल मैपिंग" टैब में, आप टेबल और कॉलम की मैपिंग को कॉन्फ़िगर कर सकते हैं:


"ऑब्जेक्ट फ़िल्टर" टैब में, आप तुलना के लिए ऑब्जेक्ट निर्दिष्ट कर सकते हैं।

उसके बाद, यदि आवश्यक हो, तो आप पिछले चरणों में वापस आ सकते हैं।

अंत में, आपको निर्दिष्ट डेटाबेस की योजनाओं की तुलना करने की प्रक्रिया शुरू करने के लिए "तुलना" बटन पर क्लिक करना होगा:


डेटाबेस स्कीमा तुलना सेटिंग्स विंडो गायब हो जाएगी और एक विंडो तुलनात्मक प्रक्रिया के एक संकेतक के साथ दिखाई देगी:


प्रक्रिया के अंत में, खिड़की पर ध्यान दें। आप विंडो के ऊपरी बाएँ कोने में "तुलना करें" बटन पर क्लिक करके तुलना सेटिंग्स बदल सकते हैं। इस बटन के दाईं ओर एक तीर वाला एक चक्र है - यह अपडेट बटन है, जो योजनाओं को फिर से तुलना करने की प्रक्रिया शुरू करता है। नीचे भी स्थित सभी पहले से पंजीकृत सर्वर हैं:


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

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


जब आप इस ऑब्जेक्ट का चयन करते हैं, तो रिसीवर के लिए डेटाबेस योजनाओं को सिंक्रनाइज़ करते समय बाईं ओर इसका परिभाषा कोड दाईं ओर ले जाया जाएगा।
यहां, परिभाषा कोड देखने के लिए, एक दृश्य चुना जाता है जो केवल स्रोत में है। इसलिए, यह ऑब्जेक्ट "केवल स्रोत में" अनुभाग में स्थित है और दाईं ओर इसके लिए कोई परिभाषा कोड नहीं है:


ऐसी वस्तु चुनते समय, इसका निर्माण कोड रिसीवर के लिए उत्पन्न किया जाएगा।
यहां, परिभाषा कोड देखने के लिए, एक दृश्य चुना जाता है जो केवल रिसीवर में होता है। इसलिए, यह ऑब्जेक्ट "केवल लक्ष्य में" अनुभाग में स्थित है और बाईं ओर इसके लिए कोई परिभाषा कोड नहीं है:


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


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


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


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


पूरा होने पर, एक नई विंडो में एक स्क्रिप्ट तैयार की जाएगी:



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


सिंक्रनाइज़ेशन के बाद, पहले से चयनित ऑब्जेक्ट सर्किट तुलना विंडो से गायब हो जाना चाहिए:


डेटाबेस डेटा सिंक


यह माना जाता है कि आवश्यक कनेक्शन "डेटाबेस स्कीमा सिंक्रोनाइज़ेशन" में ऊपर वर्णित किए गए हैं।

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


डेटा की तुलना करने के लिए एक सेटिंग विंडो दिखाई देगी।

स्रोत पैनल में बाईं ओर टैब "स्रोत और लक्ष्य" पर, आपको चयन करना होगा:
  1. टाइप
  2. संबंध
  3. स्रोत डेटाबेस

लक्ष्य पैनल में दाईं ओर आपको चयन करने की आवश्यकता है:
  1. टाइप
  2. संबंध
  3. रिसीवर डेटाबेस

ध्यान दें कि प्रकार में आप न केवल डेटाबेस का चयन कर सकते हैं, बल्कि स्क्रिप्ट निर्देशिका और बैकअप भी। हमारे मामले में, हम "डेटाबेस" प्रकार में चयन करते हैं।

सभी सेटिंग्स को चुनने के बाद, डेटाबेस डेटा के सिंक्रनाइज़ेशन को जारी रखने के लिए "अगला" पर क्लिक करें।

सर्किट तुलना के विपरीत, डेटा की तुलना करते समय, यह अनुशंसा की जाती है कि आप अनुक्रम में सभी कॉन्फ़िगरेशन चरणों से गुजरें।

यदि आवश्यक हो, तो आप बाईं ओर संबंधित विंडो तत्व पर क्लिक करके किसी भी सेटिंग टैब पर जा सकते हैं।

किसी भी स्तर पर, आप विंडो के निचले भाग में "कमांड लाइन सहेजें" बटन पर क्लिक करके सेटिंग्स को एक बैट फ़ाइल के रूप में सहेज सकते हैं।

"स्रोत और लक्ष्य" टैब सेट करने के बाद, "अगला" पर क्लिक करें:


विकल्प टैब में, आप विभिन्न सेटिंग्स सेट कर सकते हैं या उन्हें डिफ़ॉल्ट रूप से छोड़ सकते हैं:


टैब "मैपिंग" डेटा सिंक्रनाइज़ेशन के लिए तालिकाओं की एक सूची देता है। विस्मयादिबोधक चिह्न उन तालिकाओं को इंगित करते हैं जिनमें कोई प्राथमिक कुंजी नहीं है। ऐसी तालिकाओं के लिए, मिलान मैन्युअल रूप से किया जाना चाहिए। ऐसा करने के लिए, इच्छित पंक्ति (तालिका) का चयन करें और ईलिप्सिस पर दाईं ओर क्लिक करें:


मिलान विंडो दिखाई देगी:


उसके बाद, यदि आवश्यक हो, तो आप पिछले चरणों में वापस आ सकते हैं।
अंत में, निर्दिष्ट डेटाबेस के डेटा की तुलना करने की प्रक्रिया शुरू करने के लिए "तुलना" पर क्लिक करें:


डेटाबेस डेटा की तुलना करने के लिए सेटिंग्स विंडो गायब हो जाएगी और एक विंडो तुलना की प्रगति के संकेतक के साथ दिखाई देगी:


प्रक्रिया के अंत में, खिड़की पर ध्यान दें। आप विंडो के ऊपरी बाएं कोने में "एडिट कम्पेरिजन" पर क्लिक करके तुलना सेटिंग्स बदल सकते हैं। इस बटन के दाईं ओर एक तीर वाला एक चक्र है - यह एक अपडेट बटन है जो डेटा तुलना प्रक्रिया को फिर से शुरू करता है। नीचे भी स्थित सभी पहले से पंजीकृत सर्वर हैं:


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

अब खिड़की के मध्य भाग पर ध्यान दें। यहां आपको चेकमार्क के साथ सिंक्रनाइज़ेशन के लिए आवश्यक वस्तुओं का चयन करने की आवश्यकता है। बाईं ओर स्रोत ऑब्जेक्ट हैं, और दाईं ओर - रिसीवर:


निम्नलिखित जानकारी नीचे प्रदर्शित की गई है:
  1. सम्मिलित पंक्तियों के लिए - सम्मिलित पंक्तियों का डेटा:

  2. परिवर्तनशील तार के लिए - स्ट्रिंग तुलना:

  3. हटाई गई पंक्तियों के लिए - हटाई गई पंक्तियों का डेटा:


नीचे बाईं ओर, यदि आवश्यक हो, तो आप परिवर्तनों के लिए सभी पंक्तियों का चयन नहीं कर सकते हैं, लेकिन जिनकी आपको आवश्यकता है। डिफ़ॉल्ट रूप से, सभी पंक्तियों को चुना जाता है:


आप डेटा तालिका के ऊपर स्थित टैब का उपयोग करके उन पंक्तियों के बीच स्विच भी कर सकते हैं, जिन्हें बदला, बदला और हटाया जा सकता है:


वांछित कॉलम (फ़ील्ड) की दृश्यता को नियंत्रित करने के लिए आवश्यक कार्यक्षमता है:


डिफ़ॉल्ट रूप से, सभी कॉलम चुने जाते हैं।

इसके बाद, डेटाबेस डेटा सिंक्रोनाइज़ेशन प्रक्रिया को स्वयं शुरू करने के लिए, चित्र में लाल रंग में हाइलाइट किए गए बटनों में से एक पर क्लिक करें:


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


"विकल्प" टैब में, आप सिंक्रनाइज़ेशन के लिए विभिन्न सेटिंग्स सेट कर सकते हैं।

आमतौर पर, डेटाबेस बैकअप समूह से सभी सेटिंग्स हटा दी जाती हैं।

डिफ़ॉल्ट रूप से, सेटिंग समूह में "लेन-देन", "एकल लेन-देन का उपयोग करें" और "लेन-देन अलगाव स्तर को क्रमिक स्तर पर सेट करें" सेट किया जाता है, जो उन स्थितियों को रोकता है जिनमें केवल परिवर्तन के कुछ हिस्सों को लागू किया जा सकता है - अर्थात् परिवर्तन पूरे या बिल्कुल नहीं लागू होंगे:


सारांश टैब तुल्यकालन सेटिंग्स के चयन के परिणामों को प्रदर्शित करता है। यदि आवश्यक हो, तो आप पिछले पैराग्राफ पर लौट सकते हैं।

कृपया ध्यान दें कि डेटाबेस स्कीमा को सिंक्रनाइज़ करने के लिए सेटिंग्स को विंडो के निचले बाएं भाग में "सेव कमांड लाइन" पर क्लिक करके एक बैट फ़ाइल में भी सहेजा जा सकता है।

अंत में, आपको एक सिंक्रनाइज़ेशन स्क्रिप्ट बनाने की प्रक्रिया शुरू करने के लिए "सिंक्रनाइज़ करें" पर क्लिक करने की आवश्यकता है:


पूरा होने पर, एक नई विंडो में एक स्क्रिप्ट तैयार की जाएगी:



यह स्क्रिप्ट स्रोत से रिसीवर में डेटा परिवर्तन स्थानांतरित करने के लिए कोड है। इसे सर्वर-रिसीवर पर लागू किया जा सकता है या सर्वर-रिसीवर पर बाद में उपयोग के लिए फ़ाइल में सहेजा जा सकता है।

सिंक्रनाइज़ेशन के बाद, पहले से चयनित ऑब्जेक्ट डेटा तुलना विंडो से गायब हो जाना चाहिए।

DbForge एक नज़र में SQL सर्वर के लिए बंडल की तुलना करें


SQL सर्वर के लिए dbForge स्टूडियो के अलावा, आप डेटा और डेटाबेस योजनाओं की तुलना करने के लिए, Devart से SQL सर्वर टूल के लिए dbForge तुलना जंगल, जो SQL सर्वर प्रबंधन स्टूडियो (SSMS) में बनाया गया है, का उपयोग कर सकते हैं। SSMS में इस उपकरण का उपयोग करने के एक उदाहरण पर विचार करें:


यहां आपको वांछित डेटाबेस पर राइट-क्लिक करने और वांछित कार्रवाई का चयन करने की आवश्यकता है: डेटा तुलना या स्कीमा तुलना। उसके बाद, चयनित डेटाबेस को स्रोत या रिसीवर के रूप में स्थापित करें। इसी तरह, दूसरे डेटाबेस को एक रिसीवर या स्रोत के रूप में चुनें।

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


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

सॉफ्टवेयर समाधान खोज


क्वेस्ट सॉफ्टवेयर का एपेक्सक्यूएक्स डिफ और एपेक्सडाटा डिफ टूल्स एसएसएमएस में निर्मित हैं
इसके अलावा, ये उपकरण स्वतंत्र रूप से और एसएसएमएस के बिना काम कर सकते हैं।
गहराई से क्वेस्ट सॉफ्टवेयर समाधान अवलोकन

डेटाबेस स्कीमा सिंक्रनाइज़ेशन


मुख्य मेनू में, उपकरण शुरू करने के लिए, बस ApexSQL \ ApexSQL Diff \ Launch का चयन करें:


दिखाई देने वाली विंडो में, नीचे "नया" बटन पर क्लिक करें:


डेटाबेस स्कीमा तुलना विकल्प विंडो खुलती है। अब आपको "डेटा स्रोत" टैब पर आवश्यक फ़ील्ड भरना होगा:


नीचे दिए गए तीरों पर ध्यान दें। वे आपको बाएं से दाएं और बाएं से दाएं सेटिंग्स को स्वैप करने की अनुमति देते हैं, साथ ही बाएं से दाएं और दाएं से बाएं तक सेटिंग को कॉपी करते हैं। अगला, "विकल्प" टैब पर क्लिक करें और डेटाबेस स्कीमा की तुलना के लिए आवश्यक सेटिंग्स चुनें (आप कुछ भी नहीं बदल सकते हैं):


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


कई अन्य उन्नत सेटिंग्स भी हैं:
  1. ऑब्जेक्ट फ़िल्टर टैब की उन्नत सेटिंग:
  2. "पैकेज" टैब की उन्नत सेटिंग्स:
  3. अतिरिक्त स्क्रिप्ट टैब की उन्नत सेटिंग्स:

अंत में, आपको डेटाबेस स्कीमा की तुलना करने की प्रक्रिया शुरू करने के लिए "तुलना" बटन पर क्लिक करना होगा। अंत में, एक विंडो दिखाई देगी जहां स्रोत डेटाबेस स्कीमा ऑब्जेक्ट बाईं ओर स्थित होगा, और रिसीवर डेटाबेस ऑब्जेक्ट दाईं ओर:


विंडो के निचले भाग में चयनित ऑब्जेक्ट के लिए परिभाषा कोड है, और अलग-अलग डेटाबेस में एक ही ऑब्जेक्ट के परिभाषा कोड में अंतर को हाइलाइट किया गया है।

यहां आपको डेटाबेस स्कीमा को सिंक्रनाइज़ करने के लिए आवश्यक वस्तुओं का चयन करने की आवश्यकता है।
उसके बाद, आपको हरे तीर "सिंक्रनाइज़ करें" की छवि के साथ बटन पर क्लिक करने की आवश्यकता है।

डेटाबेस सिंक्रनाइज़ेशन के लिए सेटिंग्स विंडो खुद ही खुल जाएगी।
टैब पर "सिंक्रनाइज़ेशन दिशा" सिंक्रनाइज़ेशन की दिशा निर्धारित करता है।
अगला, "अगला" बटन पर क्लिक करें:


निर्भरता टैब निर्भरता दिखाता है:


टैब पर "आउटपुट विकल्प" इंगित करता है कि आपको एक सिंक्रनाइज़ेशन स्क्रिप्ट उत्पन्न करने की आवश्यकता है:


सारांश और चेतावनी टैब चयनित सिंक्रनाइज़ेशन सेटिंग्स के बारे में सारांश जानकारी प्रदर्शित करता है। सिंक्रनाइज़ेशन स्क्रिप्ट बनाना शुरू करने के लिए, "स्क्रिप्ट बनाएं" बटन पर क्लिक करें:


अंत में, स्क्रिप्ट प्रदर्शित की जाएगी:


:


«View» .


«Resources» , . «Home». SSIS-:


:


:



ApexSQL\ApexSQL Data Diff\Launch:


“New”:


. «Data sources»:


. , .

«Options» ( ):


«Advanced options» , . , . «Object mapping»:


, .

«Compare» :


:


, , . , , — .

, . «Synchronize».

.

«Synchronization direction» .

, «Next»:


«Output options» , :


«Summary and warnings» . «Create script»:


:


, :


«View» .


«Resources» , .

«Home».

:


:


RedGate


SQL Compare SQL Data Compare RedGate .
RedGate


SQL Compare RedGate . «Data sources» :


, , , , -. :


«Table mapping» :


«Full» , , :


«Owner mapping» :


«Options» :


«Compare now» . «OK»:


, ( ApexSQL Diff) , :


, «Deploy»:
:


.

«Deployment method» .

«Next»:


, :



SQL Data Compare RedGate . «Data sources» :


, , , , -.

:


«Table & views» :


«columns» , , :


«Owner mapping» :


«Options» :


«Compare now» . «OK»:


, ( ApexSQL Data Diff) , :


, «Deploy»:


.

«Deployment method» .

«Next»:


, :



उत्पाद1 लाइसेंस10 लाइसेंसएक बार में दो उत्पाद खरीदते समय
ApexSQL अलग है599 डॉलर है359 डॉलर हैयह व्यक्तिगत रूप से किया जाता है और 10 लाइसेंस की खरीद के लिए प्रति लाइसेंस दो उत्पादों के लिए $ 539 हो सकता है
ApexSQL डेटा अंतर599 डॉलर है359 डॉलर हैयह व्यक्तिगत रूप से किया जाता है और 10 लाइसेंस की खरीद के लिए प्रति लाइसेंस दो उत्पादों के लिए $ 539 हो सकता है
एसक्यूएल तुलना785 डॉलर है785 डॉलर हैव्यक्तिगत रूप से प्रदान किया जा सकता है, लेकिन 10 से अधिक लाइसेंस की खरीद के साथ
एसक्यूएल डेटा तुलना785 डॉलर है785 डॉलर हैव्यक्तिगत रूप से प्रदान किया जा सकता है, लेकिन 10 से अधिक लाइसेंस की खरीद के साथ
dbForge स्कीमा SQL सर्वर के लिए तुलना करें300 डॉलर300 डॉलर1 लाइसेंस के लिए दो उत्पादों के लिए $ 400
dbForge डेटा SQL सर्वर के लिए तुलना करें300 डॉलर300 डॉलर1 लाइसेंस के लिए दो उत्पादों के लिए $ 400

यह भी ऊपर चर्चा उपकरणों की निम्नलिखित कार्यक्षमता ध्यान देने योग्य है:
  1. तुलना के लिए स्रोत हो सकता है:
    • एक डेटाबेस
    • स्नैपशॉट
    • स्क्रिप्ट फ़ोल्डर
    • बैकअप
    • संस्करण नियंत्रण प्रणाली
  2. आप कमांड लाइन के माध्यम से इन उपकरणों के साथ काम कर सकते हैं
  3. तुल्यकालन सीधे प्रदर्शन किया जा सकता है या बाद में निष्पादन के लिए एक सिंक्रनाइज़ेशन स्क्रिप्ट को बचाया जा सकता है। आप बैट फाइल के रूप में भी सेव कर सकते हैं

एपेक्सक्यूसी डिफ टूल की आधिकारिक वेबसाइट एसक्यूएल तुलना टूल के साथ इस कार्यक्रम की तुलना प्रदान करती है।

इसी तरह, एपेक्सक्यूसी डेटा डिफ टूल के लिए , एसक्यूएल डेटा तुलना टूल के साथ तुलना प्रदान की जाती है।

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

कार्यक्षमता और कीमत के संदर्भ में, खाते की छूट और ऊपर चर्चा की गई सामग्री को ध्यान में रखते हुए, ApexSQL Diff और ApexSQL Data Diff उत्पाद सबसे अच्छे विकल्प हैं।

निष्कर्ष


डेटाबेस स्कीमा और डेटा को सिंक्रनाइज़ करने के लिए लोकप्रिय उपयोगिताओं पर विचार किया गया था:
  1. डेबार्ट द्वारा SQL सर्वर के लिए dbForge स्कीमा की तुलना करें
  2. डेबर्ट द्वारा SQL सर्वर के लिए dbForge डेटा की तुलना करें
  3. क्वेस्ट सॉफ्टवेयर एपेक्सक्यूसी डिफ
  4. क्वेस्ट सॉफ्टवेयर की एपेक्सक्यूएल डेटा डिफ
  5. RedGate SQL की तुलना करें
  6. SQL डेटा की तुलना करें


इन उत्पादों की कीमत और कार्यक्षमता पर एक संक्षिप्त तुलना भी की गई थी।

समीक्षा का परिणाम यह निष्कर्ष था कि कीमत और कार्यक्षमता में सबसे अच्छा विकल्प ApexSQL Diff और ApexSQL डेटा डिफ क्वेस्ट सॉफ्टवेयर से हैं। हालाँकि, बुनियादी आवश्यक कार्यक्षमता भी डेवार्ट उत्पादों में पर्याप्त रूप से उपलब्ध है: dbForge स्कीमा SQL सर्वर के लिए तुलना करें और dbForge डेटा SQL सर्वर के लिए तुलना करें। इन उत्पादों को उनके सॉफ्टवेयर ApexSQL Diff और ApexSQL Data Diff से क्वेस्ट सॉफ़्टवेयर की तुलना में बहुत सस्ता खरीदा जा सकता है।

Oracle DBMS के लिए समान समाधान हैं।

और स्कीमा और डेटाबेस डेटा की तुलना के लिए कौन से तुलनाकर्ता आपकी मदद करते हैं और किस डीबीएमएस के लिए?

चर्चा के बाद


साथ ही, टिप्पणी में और पत्राचार में सहयोगियों ने निम्नलिखित दिलचस्प तुलनाकर्ताओं की सिफारिश की:
  1. विभिन्न DBMS के स्कीमा और डेटाबेस डेटा की तुलना करने के लिए
  2. MS SQL सर्वर से PostgreSQL में माइग्रेट करने के लिए:
  3. MS SQL सर्वर के लिए डेटाबेस स्कीमा और डेटाबेस डेटा की तुलना करने के लिए
  4. एक DBMS से दूसरे DBMS पर स्विच करने के लिए और अलग-अलग DBMS के स्कीमा और डेटाबेस डेटा की तुलना करने के लिएसममित उपकरण भी बहुत अच्छा है।
  5. MS SQL Server DBMS से PostgreSQL DBMS में Jira डेटाबेस ट्रांसफर करने के लिए


सूत्रों का कहना है


Source: https://habr.com/ru/post/hi465753/


All Articles