क्या स्कीमा उपलब्धता समूहों को "तोड़" देती है या पारदर्शी तरीके से उन्हें संभाला जाता है?


11

मेरा संगठन SQL सर्वर 2012 उपलब्धता समूहों को अपनाने की योजना बना रहा है और मैं यह समझने की कोशिश कर रहा हूं कि हमारे आवेदन उन्नयन प्रक्रिया पर इसका क्या प्रभाव (यदि कोई हो) होगा।

हम 8 सप्ताह के चक्र पर एप्लिकेशन अपडेट जारी करते हैं और किसी भी रिलीज में स्कीमा परिवर्तन और / या डेटा माइग्रेशन शामिल हो सकते हैं।

मैं यह समझने की कोशिश कर रहा हूं कि क्या हा / डीआर समाधान स्कीमा को पारदर्शी तरीके से बदलता है या नहीं (नए कॉलम, इंडेक्स को सेकंडरीज़ में जोड़ा जाता है) या प्रत्येक उदाहरण पर स्कीमा बनाने के लिए मैन्युअल हस्तक्षेप आवश्यक है और फिर हमेशा चालू करें।

जो डेटा माइग्रेशन टुकड़ा मैं मान रहा हूं, वह पारदर्शी रूप से संभाला जाएगा, लेकिन साथ ही इसकी पुष्टि भी करना चाहेंगे।

मुझे लगता है कि मैं एक कंबल धारणा भी बना रहा हूं कि उपलब्धता समूह कॉन्फ़िगरेशन के आधार पर इन व्यवहारों में कोई अंतर नहीं है जो गलत भी हो सकता है। कृपया मुझे बताओ।

संक्षेप में; मेरे आवेदन के किसी भी रिलीज़ में मैं इसमें कॉलम जोड़कर एक बहुत बड़ी तालिका (10 से 100 से लाखों के रिकॉर्ड) बदल सकता हूं। कुछ कॉलम "शुद्ध नए" हो सकते हैं ताकि वे एंटरप्राइज ऑनलाइन स्कीमा परिवर्तन कार्यक्षमता का उपयोग कर सकें। अन्य कॉलम किसी मौजूदा कॉलम का रीफैक्टरिंग हो सकता है (FullName FirstName और LastName में विभाजित हो जाता है) और इन क्षेत्रों को पॉप्युलेट करने के लिए तालिका में प्रत्येक पंक्ति के लिए एक माइग्रेशन चलाया जाएगा। क्या इनमें से किसी भी व्यवहार के लिए हमेशा की कॉन्फ़िगरेशन को बदलने के लिए डीबीए की आवश्यकता होती है या क्या यह डिफ़ॉल्ट रूप से नियंत्रित होता है और सभी सेकेंडरीज़ को डीडीएल और डीएमएल स्टेटमेंट "मुफ्त में" मिलते हैं?

किसी भी स्पष्टता के लिए धन्यवाद जो आप प्रदान कर सकते हैं।


जवाबों:


9

स्कीमा परिवर्तन और डेटा परिवर्तन अनिवार्य रूप से समान हैं। यह आज पारंपरिक मिररिंग की तरह काम करता है: प्राथमिक पर लॉग में जो हुआ वह द्वितीयक पर होता है। वेगास में होने वाली हर चीज को वेगास में नहीं रहना पड़ता। :-)

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

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


संचित लॉगिन डेटाबेस के साथ किया जाना चाहिए, सही? (मुझे लगता है कि आप सर्वर लॉगिन का मतलब है।)
जॉन Seigel

1
@JonSeigel में उपयोगकर्ता हैं, हाँ। इसमें समाहित लॉगिन जैसी कोई चीज नहीं है। Picky नहीं होने के कारण, केवल यह सुनिश्चित करना चाहते हैं कि उम्मीद सही है। बेशक इसके लिए यह आवश्यक है कि सभी नोड्स में डेटाबेस प्रमाणीकरण सक्षम हो और डेटाबेस वास्तव में, CONTAINMENT = PARTIAL पर सेट हो।
हारून बर्ट्रेंड

आह, मैं अब देखता हूं । धन्यवाद, मैंने नए 2012 की अच्छाइयों के साथ बहुत काम नहीं किया है।
जॉन सीगेल जूल

@JonSeigel मैंने उन लोगों को स्पष्ट रूप से कॉल करने के लिए उत्तर अपडेट किया।
हारून बर्ट्रेंड

धन्यवाद हारून। स्कीमा परिवर्तन की प्रतिकृति के बारे में कुछ चिंताएं व्यक्त की गई थीं और मैं पुष्टि करना चाहता था कि ऑल्वोऑन (जैसा कि आपने वर्णित किया है) उस व्यवहार को प्रदर्शित नहीं करता है। मुझे लगता है कि यह गलतफहमी है या विशेष रूप से प्रतिकृति से संबंधित है।
मैट ओ'ब्रायन

0

रेमुस से अधिक जवाब, उपयोगकर्ता संभवतः माध्यमिक प्रतिकृति पर प्रश्नों को हटाने और तालिका में पुन: कतार आकार की स्थिति की जांच करने के लिए कह रहे हैं: sysinos_hadr_database_replica_states AlwaysOn DDL और स्कीमा परिवर्तन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.