SQL Server 2014 SP1 (12.0.4422.0) से SQL Server 2016 CTP 3.2 (13.0.900.73) में अपग्रेड का परीक्षण करते समय मैं अनुशंसित अद्यतन प्रक्रिया का पालन कर रहा था और एक समस्या में भाग गया, जहां डेटाबेस विफल होने के बाद पुराने प्राथमिक पर शुरू नहीं होगा अद्यतन माध्यमिक के लिए। हमारा सेटअप एक प्राथमिक प्रतिकृति और एक एकल माध्यमिक प्रतिकृति है, और मेरे द्वारा पूर्ण किए गए चरण थे:
- सिंक्रोनस-कम सेकेंडरी रेप्लिका पर स्वचालित फेलओवर निकालें
- नए संस्करण के लिए द्वितीयक सर्वर इंस्टेंसेस को अपग्रेड करें
- मैन्युअल रूप से माध्यमिक प्रतिकृति पर विफल
- सत्यापित करें कि डेटाबेस नए प्राथमिक प्रतिकृति पर ऑनलाइन हैं
- पिछले-प्राथमिक प्रतिकृति को नए संस्करण में अपग्रेड करें
द्वितीयक और विफलता का उन्नयन इसे प्राथमिक बनाने के लिए बिल्कुल अपेक्षित रूप से काम किया। लेकिन पूर्व-प्राथमिक प्रतिकृति को अपग्रेड करने के बाद मैंने देखा कि इस पर डेटाबेस एसएसएमएस में सूचीबद्ध नहीं थे, न कि सिंक्रोनाइज़िंग / इन रिकवरी के रूप में । साथ ही उन्हें एक्सेस करने का प्रयास करने से त्रुटि संदेश उत्पन्न होगा:
डेटाबेस ... पहुँच योग्य नहीं है। (ObjectExplorer)
मैंने देखा SQL सर्वर लॉग के माध्यम से जाँच कर रहा है
डेटाबेस को नहीं खोल सकता '...' संस्करण 782. डेटाबेस को नवीनतम संस्करण में अपग्रेड करें।
मास्टर को छोड़कर..साइड डेटाबेस डेटाबेस से पता चला कि यह वास्तव में एक पुराना संस्करण था और अपग्रेड के दौरान अपडेट नहीं किया गया था:
दुर्भाग्य से लॉग यह इंगित नहीं करता था कि यह अपडेट क्यों नहीं किया गया है, और उपलब्धता समूह डैशबोर्ड ने केवल एक सामान्य चेतावनी दी है जो यह संकेत देता है कि कुछ उपलब्धता डेटाबेस के डेटा सिंक्रनाइज़ेशन स्थिति को बिना किसी कारण के स्वस्थ नहीं है।
मैंने डेटाबेस को अलग करने या अपडेट करने के लिए उन्हें "किक" करने के लिए ऑफ़लाइन सेट करने के लिए टीएसक्यूएल का उपयोग करने की कोशिश की, लेकिन जब से वे एसक्यूएल एजी का हिस्सा हैं, तो वे कमांड काम नहीं करते हैं।
SQL एजी का हिस्सा होने पर मैं डेटाबेस को नवीनतम संस्करण में कैसे अपग्रेड कर सकता हूं?