हम अपने SQL सर्वर पर एक बड़ा अपग्रेड करने के लिए तैयार हो रहे हैं और वितरित उपलब्धता समूहों के साथ कुछ असामान्य व्यवहार को नोटिस कर रहे हैं जिन्हें मैं आगे बढ़ने से हल करने की कोशिश कर रहा हूं।
पिछले महीने, मैंने SQL Server 2016 से एक दूरस्थ माध्यमिक सर्वर को SQL Server 2017 में अपग्रेड किया। यह सर्वर कई वितरित उपलब्धता समूहों (डीएजी) और एक अलग उपलब्धता समूह (एजी) का एक हिस्सा है । जब हमने इस सर्वर को अपग्रेड किया, तो हम इस बात से अनजान थे कि यह एक अपठनीय स्थिति में पहुंच जाएगा , इसलिए पिछले महीने के दौरान हम केवल प्राथमिक सर्वर पर निर्भर रहे हैं।
आगामी अपग्रेड के एक भाग के रूप में, मैंने सर्वर पर CU 4 पैच लागू किया और इसे रिबूट किया। जब सर्वर ऑनलाइन वापस आया, तो बस-पैचेड द्वितीयक ने दिखाया कि सभी डीएजी / एजी बिना किसी मुद्दे के सिंक कर रहे थे।
हालांकि, प्राथमिक एक बहुत अलग कहानी दिखा रहा था। यह वह रिपोर्ट कर रहा था
- अलग एजी किसी भी मुद्दे के बिना सिंक्रनाइज़ किया गया था
- लेकिन DAG एक समकालिक / स्वस्थ नहीं है
शुरू में घबराने के बाद, मैंने डीएजी में चीजों को फिर से सिंक्रनाइज़ करने के लिए निम्नलिखित चीजों का प्रयास किया:
- प्राथमिक से, मैंने डेटा आंदोलन को रोक दिया और फिर से शुरू किया। इससे डेटा सिंक करना शुरू नहीं हुआ।
- द्वितीयक पर (जिसे मैंने अभी पैच किया था) मैं भाग गया
ALTER DATABASE [<database] SET HADR RESUME;
- जो त्रुटियों के बिना निष्पादित होता है, लेकिन किसी भी सिंक्रनाइज़ेशन को फिर से शुरू नहीं करता है
डेटा को फिर से सिंक करने के लिए मेरा आखिरी प्रयास द्वितीयक में लॉगिन करना था, और SQL सर्वर सेवा को मैन्युअल रूप से पुनरारंभ करना था। मैन्युअल रूप से सेवा को फिर से शुरू करना थोड़ा चरम लगता है, क्योंकि मुझे उम्मीद है कि सर्वर रिबूट होने के लिए पर्याप्त होगा।
क्या किसी ने इस मुद्दे में भाग लिया है जहां एक डीएजी रिबूट के बाद एक माध्यमिक के लिए सिंक्रनाइज़ करना शुरू नहीं करता है? यदि हां, तो इसका समाधान कैसे किया गया?
मैंने SQL सर्वर त्रुटि लॉग और द्वितीयक सर्वर पर ईवेंट व्यूअर दोनों की जाँच की, साधारण से कुछ भी नहीं था जिसे मैं देख सकता था।