SQL सर्वर पुनर्प्राप्ति में डेटाबेस दिखाता है


23

आज, बिजली की विफलता के बाद, एक डेटाबेस (रिकवरी के साथ: पूर्ण) एसएसएमएस में "इन रिकवरी" दिखाता है। इसलिए:

myDatabase (पुनर्प्राप्ति में) (डेटाबेस स्थिति: पुनर्प्राप्ति, शटडाउन)

समाप्त होने के बाद, डेटाबेस "रिकवरी प्रक्रिया" डेटाबेस में "रिकवरी के बिना" नाम myDatabase दिखाता है। मुझे लगा कि समस्या हल हो गई है, लेकिन यह नहीं था।

जब मैंने उस डेटाबेस का उपयोग करने वाले एप्लिकेशन को शुरू किया, तो अतिरिक्त डेटाबेस "(रिकवरी)" मेरे डेटाबेस के नाम के बगल में फिर से दिखाई देता है।

मैंने "पुनर्प्राप्ति प्रक्रिया" समाप्त होने तक इंतजार किया और फिर मैंने डेटाबेस को ऑफ़लाइन ले लिया और इसे ऑनलाइन वापस लाया।

मैंने सर्वर को पुनरारंभ किया, कंप्यूटर को पुनरारंभ किया और जब मेरा एप्लिकेशन चल रहा था तो अतिरिक्त पाठ फिर से प्रकट होता है। SQL सर्वर में लॉग संदेश "शुरू डेटाबेस 'myDatabase' कुछ बार प्रकट होता है। ऐसा लगता है कि डेटाबेस काम कर रहा है क्योंकि मैं डेटा सम्मिलित कर सकता हूं, लेकिन राज्य दिखा रहा है कि ऐसा कुछ होता है।

सर्वर लॉग कुछ दिलचस्प नहीं दिखा रहा है। एकमात्र असामान्य बात यह है कि मेरे पास "स्टार्टिंग डेटाबेस 'मायडाबेस' की 30 प्रविष्टियाँ हैं।"

मुझे पता है कि जब सर्वर शुरू होता है तो हर डेटाबेस उपयोग के लिए तैयार होने से पहले रिकवरी से गुजरता है। लेकिन मेरे मामले में, डेटाबेस ऑनलाइन आता है फिर "myDatabase (पुनर्प्राप्ति)" दिखाता है। यदि मैं एप्लिकेशन को बंद कर देता हूं, तो डेटाबेस स्टेटस: सामान्य हो जाता है। यह मुझे पागल बना रहा है।

मैंने SQL सर्वर का एक नया उदाहरण भी स्थापित किया है, और उस पर पुराने डेटाबेस "myDatabase" को रखा है। समस्या अभी भी होती है।

जब मैं यह प्रश्न चलाता हूं:

SELECT databasepropertyex('nyDatabase', 'STATUS')

यह पुनर्प्राप्ति, ऑनलाइन, संदिग्ध और ऑनलाइन वापस करने और फिर पुनर्प्राप्त करने और इसी तरह दिखाता है।

जवाबों:


2

सामुदायिक विकी उत्तर मूल रूप से अपने लेखक द्वारा प्रश्न को संपादित करने के रूप में छोड़ा गया है:

समस्या यह थी कि डेटाबेस गुण AutoCloseसेट किया गया था।

समाधान AutoCloseझूठ को सेट करना था ।


16

मुझे यकीन नहीं है कि यह समस्या को हल करने में मदद करेगा, लेकिन आप इसे एक शॉट दे सकते हैं।

चलाएँ:

RESTORE DATABASE YourDatabase WITH RECOVERY

देखें कि ऊपर वाला डेटाबेस को रिकवरी मोड से बाहर लाता है या नहीं। यदि ऐसा नहीं होता है तो समस्या कुछ और हो सकती है।

क्या आप नीचे दिए गए आदेश को आजमा सकते हैं और देख सकते हैं कि क्या डेटाबेस भ्रष्ट है?

DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS

यदि यह भ्रष्टाचार का पता लगाता है, तो आप डेटाबेस का उपयोग करके मरम्मत करना चाह सकते हैं DBCC CHECKDB


6

जब भी आप ऑनलाइन एक डेटाबेस लाते हैं, यह एक रिकवरी प्रक्रिया से गुजरता है। मैं हालांकि समस्या के अपने phrasing द्वारा थोड़ा उलझन में हूँ। क्या आप डेटाबेस को किसी भी समय पुनर्प्राप्ति में जाते हुए देख रहे हैं, जब डेटाबेस को ऑफ़लाइन लाया जा रहा है (या तो आपकी मूल बिजली की विफलता से या आपके द्वारा ऑफ़लाइन होने के बाद और फिर ऑनलाइन ऑनलाइन होने से)? यदि हां, तो डेटाबेस किसी अन्य कारण से ऑफ़लाइन हो रहा है। SQL सर्वर लॉग को देखने के लिए सबसे अच्छा है कि क्या चल रहा है।

आपको डिस्क विफलता की तरह कुछ के लिए विंडोज इवेंट लॉग की भी जांच करनी चाहिए। सामान्य ऑपरेशन के दौरान डेटाबेस को शुरू नहीं करना चाहिए और पुनर्प्राप्ति में जाना चाहिए।

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