मैं एक SQL सर्वर 2005 वातावरण में लॉग शिपिंग का उपयोग कर रहा हूँ। विचार एक माध्यमिक सर्वर पर लगातार लॉग शिपिंग स्थापित करना था। इरादा: रिपोर्ट क्वेरी की सेवा के लिए द्वितीयक सर्वर का उपयोग करें, जिससे प्राथमिक डीबी सर्वर ऑफलोडिंग हो।क्या लॉगिंग परिदृश्य में केवल माध्यमिक सर्वर केवल पढ़ने के लिए उपलब्ध है?
मैं एक sqlservercentral forum thread पर इस में आए:
जब आप लॉग शिपिंग बनाने आप 2 विकल्प हैं। आप नॉर्वेवरी या स्टैंडबाय विकल्प के साथ पुनर्स्थापित लॉग ऑपरेशन को कॉन्फ़िगर कर सकते हैं। यदि आप नॉर्वेवरी विकल्प का उपयोग करते हैं, तो आप इसके बारे में चयन कथन जारी नहीं कर सकते हैं। यदि नॉर्वेवरी के बजाय आप स्टैंडबाय विकल्प का उपयोग करते हैं, तो आप डेटाबेस पर चुनिंदा प्रश्न चला सकते हैं। लॉग फ़ाइल पुनर्स्थापना होने पर स्टैंडबाय विकल्प के साथ ध्यान रखें, उपयोगकर्ताओं को पुनर्स्थापना प्रक्रिया द्वारा चेतावनी के बिना बाहर निकाल दिया जाएगा। दृढ़ता से जब आप स्टैंडबाय विकल्प के साथ लॉग शिपिंग कॉन्फ़िगर करते हैं, तो आप 2 विकल्पों के बीच भी चयन कर सकते हैं - द्वितीयक डेटाबेस में सभी प्रक्रियाओं को मार दें और लॉग पुनर्स्थापित करें या डेटाबेस का उपयोग होने पर लॉग पुनर्स्थापना न करें। बेशक यदि आप दूसरा विकल्प चुनते हैं, तो अगर कोई डेटाबेस से कनेक्शन खोलता है और इसे बंद नहीं करता है तो पुनर्स्थापना ऑपरेशन कभी नहीं चला सकता है, इसलिए पहले विकल्प का उपयोग करना बेहतर है।
तो मेरी प्रश्न हैं:
- ऊपर सच है? क्या आप वास्तव में जिस तरह से इरादा रखते हैं उसमें लॉग शिपिंग का उपयोग नहीं कर सकते?
- यदि यह सत्य है, तो क्या कोई यह बता सकता है कि लेनदेन लॉग को पुनर्स्थापित करने के दौरान आप डेटाबेस में SELECT स्टेटमेंट निष्पादित क्यों नहीं कर सकते?
संपादित करें:
पहला सवाल this serverfault question का डुप्लिकेट है। लेकिन मुझे अभी भी दूसरे प्रश्न का उत्तर देना होगा: लेनदेन लॉग बहाल होने पर SELECT स्टेटमेंट निष्पादित करना क्यों संभव नहीं है?
डाटाबेस लॉक होने का कारण डेटाबेस डेटा की स्थिरता को लागू करने के लिए है। –
निश्चित रूप से एक डीबी लॉक ओवरकिल है? अगर स्थिरता मुद्दा था? सामान्य लॉकिंग लागू हो सकता है? या लॉकिंग बढ़ती है जैसे पुनर्स्थापना होती है, जब तक कि संपूर्ण डीबी लॉक न हो जाए? – Bravax
@ जॉन संसॉम: लेकिन जब माध्यमिक डीबी केवल पढ़ने के लिए होता है (केवल चयन, कोई INSERT या अद्यतन)। फिर स्थिरता कारण दूर चला जाता है, है ना? – codeape