मान लें कि मेरे पास अपने स्वयं के (SQL Azure) डेटाबेस का उपयोग करके उत्पादन और स्टेजिंग तैनाती दोनों हैं। यदि स्टेजिंग में स्कीमा बदल गया है और उत्पादन में तैनात करने की आवश्यकता है तो उत्पादन डेटाबेस (डाउनटाइम के बिना) डेटाबेस अपग्रेड प्राप्त करने का एक परिभाषित तरीका है?डेटाबेस स्कीमा बदलते समय Azure निर्बाध अपग्रेड
उदा। अगर मैं वीआईपी स्टेजिंग < -> उत्पादन (और साथ ही स्वचालित रूप से बदलते कनेक्शन तारों को स्वचालित रूप से बदलता हूं) एसक्यूएल एज़ूर डेटाबेस को अपग्रेड करने के लिए स्वचालित प्रक्रिया क्या है।
मेरे सोचा RoleEnvironmentChanging में पर्यावरण परिवर्तन का पता (हालांकि निश्चित नहीं है कि वीआईपी स्वैप भी RoleEnvironmentChanginng आग) और (यानी prod) उस बिंदु पर डेटाबेस होने के खिलाफ एसक्यूएल स्क्रिप्ट चलाने के लिए हो सकता है, लेकिन मैं बनाने की जरूरत है सुनिश्चित करें कि स्क्रिप्ट केवल एक बार चलती है और कई उदाहरण संक्रमण हो जाएंगे।
अच्छा सवाल। चीजें जो मुझे पता है (लगभग) निश्चित रूप से यह है कि: (1) वीआईपी स्वैपिंग RoleEnvironmentChanging को ट्रिगर नहीं करेगा। (2) कनेक्शन स्ट्रिंग को बदलने का एकमात्र तरीका वेब.config को प्रोग्रामेटिक रूप से संपादित करना है और उस नए कनेक्शन स्ट्रिंग को कहीं और (?) है। (3) कनेक्शन स्ट्रिंग के लिए अब तक कोई स्वचालन नहीं बदला गया है। यही कारण है कि मैं स्टेजिंग परिनियोजन का उपयोग नहीं करता हूं। तो, आप सेवा डाउनग्रेड के दौरान कुछ डाउनटाइम और/या त्रुटियों के साथ बेहतर रह सकते हैं (स्टेजिंग पर परीक्षण के बाद सीधे उत्पादन के लिए नए संस्करण के साथ अपग्रेड करें)। – astaykov