लॉग शिपिंग - मानक सर्वर के साथ - SQL Server 2012 पर टूट रहा है


10

हम RESTORE WITH STANDBYरिपोर्टिंग उद्देश्यों के लिए केवल-पढ़ने के लिए मोड में डेटाबेस को पुनर्स्थापित करने के लिए लॉग शिपिंग और SQL सर्वर 2012 पर उपयोग कर रहे हैं । हालाँकि, एक या दो लॉग बैकअप की पुनर्स्थापना को पूरा करने के बाद लॉग शिपिंग सेटअप टूट रहा है। लॉग-शिपिंग केवल तब टूटता है जब यह चल रहा हो RESTORE WITH STANDBY; RESTORE WITH NORECOVERYकिसी भी समस्या का कारण नहीं है।

इस बारे में मेरा एकमात्र अंतर्ज्ञान यह है कि प्राथमिक डेटाबेस उस गतिशील नहीं है। इसलिए, जब कोई लेनदेन नहीं होता है, तो यह RESTOREप्रक्रिया के साथ समस्या का कारण बनता है, हो सकता है?

किसी भी विचार, ज्ञात सुधार?

मैंने इसे कुछ दिनों तक एक नियमित नौकरी चलाकर काम किया था जो दो तालिकाओं पर भारी अपडेट करता है। जब जॉब ने लॉग शिपिंग सेटअप चलाना बंद कर दिया, तो .trn फ़ाइल को संसाधित करने में असमर्थ। मैंने लॉग-शिपिंग को रीसेट कर दिया और यह देखने की कोशिश की कि क्या यह केवल एक छोटे से अपडेट करके, एक तालिका में एक रिकॉर्ड के एक कॉलम के मूल्य को बदलते हुए चलता रहेगा, जो भी अभी तक विफल रहा है।

आपकी सभी प्रतिक्रियाओं के लिए धन्यवाद।

पुनश्च: हमारे लॉग से एक अंश

02/25/2013 13: 00: 00, LSRestore_DBDB01-A_BulldogDB, प्रगति में, 1, DBREPORTS, LSRestore_DBDB01-A_BulldogDB, लॉग शिपिंग कार्य लॉग इन करें चरण।: 2013-02-25 13: 00: 12.31 *** त्रुटि: त्रुटि। द्वितीयक डेटाबेस 'बुलडॉगबीडी' पर लॉग बैकअप फ़ाइल '\\ dbsan01 \ DBBackups \ LSBackup_BulldogDB \ BulldogDB_20130225180000.trn' लागू नहीं कर सका। (Microsoft.SlSServer.Management.LogShipping) ***।
2013-02-25 13: 00: 12.31 *** त्रुटि: डेटाबेस 'बुलडॉगबीडी' के लिए लॉग को संसाधित करते समय एक त्रुटि हुई। यदि संभव हो तो बैकअप से पुनर्स्थापित करें। यदि बैकअप उपलब्ध नहीं है, तो लॉग का पुनर्निर्माण करना आवश्यक हो सकता है।
पुनर्प्राप्ति के दौरान त्रुटि हुई जब डेटाबेस 'बुलडॉगबीडी' (8: 0) को फिर से शुरू करने से रोका गया। पुनर्प्राप्ति त्रुटियों का निदान करें और उन्हें ठीक करें या किसी ज्ञात अच्छे बैकअप से पुनर्स्थापित करें। यदि त्रुटियों को ठीक नहीं किया जाता है या तकनीकी सहायता से अपेक्षित संपर्क नहीं किया जाता है।
RESTORE LOG असामान्य रूप से समाप्त हो रहा है।
फ़ाइल 1 पर डेटाबेस 'बुलडॉगबीडी' फ़ाइल 'बुलडॉगबीडी' के लिए 0 पृष्ठ संसाधित किए गए।
फ़ाइल 1 पर डेटाबेस 'बुलडॉगबीडी' फ़ाइल 'बुलडॉगबीडी_लॉग' के लिए 1 पृष्ठ संसाधित किया गया। (नेट स्क्लेकिएंट डेटा प्रदाता) ***
2013-02-25 13: 00: 12.32 *** त्रुटि: इतिहास / त्रुटि संदेश लॉग नहीं कर सका। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.32 *** त्रुटि: ExecuteNonQuery को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.32 लंघन लॉग बैकअप फ़ाइल '\\ dbsan01 \ DBBackups \ LSBackup_BulldogDB \ BulldogDB_20130225180000.trn' माध्यमिक डेटाबेस के लिए 'BulldogDB' क्योंकि फ़ाइल सत्यापित नहीं की जा सकी।
2013-02-25 13: 00: 12.32 *** त्रुटि: इतिहास / त्रुटि संदेश लॉग नहीं कर सका। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.32 *** त्रुटि: ExecuteNonQuery को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: डेटाबेस एक्सेस मोड को पुनर्स्थापित करने में कोई त्रुटि हुई। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: ExecuteScalar को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: इतिहास / त्रुटि संदेश लॉग नहीं कर सका। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: ExecuteNonQuery को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: डेटाबेस एक्सेस मोड को पुनर्स्थापित करने में कोई त्रुटि हुई। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: ExecuteScalar को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: इतिहास / त्रुटि संदेश लॉग नहीं कर सका। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: ExecuteNonQuery को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***
2013-02-25 13: 00: 12.33 पुरानी लॉग बैकअप फ़ाइलों को हटाना। प्राथमिक डेटाबेस: 'बुलडॉगबीडी'
2013-02-25 13: 00: 12.33 *** त्रुटि: इतिहास / त्रुटि संदेश लॉग नहीं कर सका। (Microsoft.SqlServer.Management.LogShipping) ***
2013-02-25 13: 00: 12.33 *** त्रुटि: ExecuteNonQuery को एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। कनेक्शन की वर्तमान स्थिति बंद है। (System.Data) ***, 00: 00: 12,0,0 ,,,, 0

यह टूट जाता है कि LS_Restore नौकरी लेनदेन लॉग बैकअप लागू नहीं कर सकता है। मैं बस लॉग-शिपिंग को रीसेट करता हूं ताकि डेटाबेस से सभी त्रुटि लॉग जानकारी समाप्त हो जाए। मैंने उन्हें कहीं बचा लिया है, मैं उन्हें पोस्ट कर सकता हूं जब मैं उन्हें ढूंढ सकता हूं। धन्यवाद।
मेंडल

हमें "स्किपिंग लॉग बैकअप फाइल ... जैसे कुछ मिलता है। माध्यमिक डेटाबेस 'डीबी' के लिए। क्योंकि फ़ाइल को सत्यापित नहीं किया जा सकता है । मुझे नहीं पता कि आप विशेष रूप से भ्रष्टाचार की जांच कैसे करेंगे।
मेंडल

जवाबों:


4

यदि लॉग बैकअप बैकअप सक्षम है जबकि द्वितीयक डेटाबेस NORECOVERY में है और केवल तब विफल रहता है जब वह READ-ONLY / STANDBY में है तो मैं मान लूंगा कि लॉग बैकअप स्वयं ठीक हैं और दूषित नहीं हैं।

यह हो सकता है कि आपके रिपोर्टिंग घटक का डेटाबेस से एक खुला संबंध हो इसलिए लॉग फ़ाइल को पुनर्स्थापित करते समय यह खुले कनेक्शन के कारण डेटाबेस से कोई विशेष कनेक्शन प्राप्त करने में असमर्थ होता है। लॉग बैकअप को पुनर्स्थापित करने की अनुमति देने के लिए किसी भी कनेक्शन को डिस्कनेक्ट करने के लिए लॉग शिपिंग स्थापित करते समय एक विकल्प होगा।


1
यह सही है। इसके आस-पास जाने के लिए लॉगशीपिंग जॉब्स को स्टैंडबाय के साथ रिस्टोर करने की अनुमति न दें, लेकिन जॉब के लिए दूसरा स्टेप जोड़ें जो स्टैंडबाय के साथ रिस्टोर हो जाए। RESTORE DATABASE [डेटाबेस] STANDBY = N'standbyfile 'के साथ। एक अन्य विकल्प यह होगा कि लेन-देन लॉग बैकअप समाप्त नहीं हुआ है, पुनर्स्थापना के लिए 20 मिनट की देरी को जोड़ने का प्रयास करें
Spörri

1

स्टैंडबाय सेकेंडरी पर केवल तब ही यूजर्स को डिस्कनेक्ट कर सकते हैं जब जॉब शुरू होती है, स्टार्ट होने के बाद यूजर्स कनेक्ट हो सकते हैं ... और यह "एक्सक्लूसिव एक्सीडेंट" के बारे में गलती से रिस्टोर प्रोसेस को रोक देगा। मुझे ऐसी सेवा मिली, जिसने पुनर्स्थापना करते समय स्टैंडबाय डेटाबेस से जुड़ने की कोशिश की। कि 1-10 / 100 बहाल फ़ाइलों के बाद तोड़ने के लिए पुनर्स्थापना प्रक्रिया बनाई।

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