मैं एक MSSQL सर्वर 2008 डेटाबेस के लिए एक MySQL डेटाबेस की सामग्री को दोहराने के लिए चाहते हैं।
क्या यह संभव है? क्या कोई इसे प्राप्त करने के लिए आवश्यक कदमों की रूपरेखा तैयार कर सकता है?
धन्यवाद।
मैं एक MSSQL सर्वर 2008 डेटाबेस के लिए एक MySQL डेटाबेस की सामग्री को दोहराने के लिए चाहते हैं।
क्या यह संभव है? क्या कोई इसे प्राप्त करने के लिए आवश्यक कदमों की रूपरेखा तैयार कर सकता है?
धन्यवाद।
जवाबों:
व्यक्तिगत रूप से मैं एमएस SQL विधि बनाम MySQL विधि से धक्का में खींच लेंगे। क्यों? खैर विंडोज में 32 बिट और 64 बिट्स MySQL ODBC ड्राइवर हैं जो एक लिंक किए गए सर्वर को जाने और स्थापित करने के लिए तैयार हैं। मेरे पास बहुत सारे MySQL सर्वर MS SQL से जुड़े हुए हैं। इसके अलावा, linux / unix से MS SQL से कनेक्ट करना हमेशा बहुत अच्छा नहीं होता है और आप ususally सभी सुविधाओं का उपयोग करने में सक्षम नहीं होते हैं। FreeTDS की सीमाएँ हैं; आप उन्हें जल्द से जल्द हिट कर सकते हैं इसलिए केवल इसे छोड़ें नहीं। यह सब मानता है कि आप MySQL को * nix पर चला रहे हैं। यदि नहीं, तो यह 50/50 के करीब हो जाता है, लेकिन मैं अभी भी एमएस एसक्यूएल से खींचना चुनूंगा क्योंकि ऐसा लगता है कि यह "लाइव" डेटाबेस नहीं है, इस प्रकार किसी ईटीएल या प्रसंस्करण के लिए इस पर लोड डालना अधिक आदर्श है। GoldenGate समाधान दिलचस्प लगता है, लेकिन मुझे यकीन है कि यह मुफ़्त नहीं है।
यह देखते हुए कि मैंने इस तरह के परिदृश्य को MySQL और Oracle डेटाबेस दोनों के साथ MS SQL को दोहराया है, मैं इसके लिए काम करने वाले कुछ सुझाव प्रदान करूंगा:
आशा है कि सुझाव मदद!
यहां StackOverflow पर एक ही सवाल पूछा गया था: MySQL से MSSQL की प्रतिकृति ।
ऐसा लगता है कि कुछ वर्कअराउंड हैं, लेकिन बहुत आसान समाधान नहीं है।
मेरा मानना है कि आपको निश्चित रूप से MySQL DB से MSSQL DB तक आवश्यक डेटा आयात करने के लिए SSIS पैकेज बनाने की कोशिश करनी चाहिए। SSIS विभिन्न स्रोतों से डेटा आयात करने की अनुमति देता है। फिर आपको विंडोज़ टास्क शेड्यूलर या एसक्यूएल नौकरियों का उपयोग करके पैकेज को शेड्यूल करने में सक्षम होना चाहिए।
यदि प्रतिकृति से आपका मतलब लॉग शिपिंग या ऐसा कुछ है जो मुझे विश्वास है कि आप भाग्य से बाहर हैं। हालाँकि आप निश्चित रूप से एक लिंक सर्वर के रूप में एक MySQL डेटाबेस सेट कर सकते हैं और अपनी प्रतिकृति योजना को रोल कर सकते हैं। सरलतम ट्रंक और स्टेटमेंट्स का उपयोग करके सभी तालिकाओं के आवधिक स्नैपशॉट करने के लिए है। अपनी आवश्यकताओं के अनुसार जटिलता जोड़ें।
ऐसा करने के लिए आप MySQL और MS SQL के लिए GoldenGate का उपयोग कर सकते हैं । आप बस हर तरफ GoldenGate उत्पाद स्थापित करेंगे, फिर एक सजातीय प्रतिकृति के रूप में आगे बढ़ेंगे।
वैकल्पिक रूप से, एक "स्नैपशॉट" प्रतिकृति के लिए, आप केवल डेटा स्रोतों ( यूनिक्सकोड और एमएस SQL से कनेक्ट करने के लिए फ्रीटीडीएस का उपयोग करके) के लिए एक पायथन (या समान) स्क्रिप्ट का उपयोग कर सकते हैं SELECT
, एक पंक्ति में कर रहे तालिकाओं के माध्यम से लूप , प्रत्येक पंक्ति के लिए INSERT
दूसरे पर। जैसा कि MSSQL में लेन-देन होता है और आपका लक्ष्य होता है, आप एक लेन-देन शुरू कर सकते हैं, DELETE
सब कुछ सभी तालिकाओं से कर सकते हैं, कॉपी कर सकते हैं, COMMIT
और फिर यह तुरंत दिखाई देगा जहाँ तक लक्ष्य पर जुड़े उपयोगकर्ताओं का संबंध है, कोई असंगति नहीं होगी (जब तक कि ये मौजूद न हों पाठ्यक्रम के स्रोत पर)।