SQL सर्वर "संदिग्ध" डेटाबेस?


40

जब आपके पास एक डेटाबेस होता है जो आपको चिह्नित किया जाता है तो आप क्या करते हैं Suspect?

पिछले बैकअप से पुनर्स्थापित करें?

कृपया सलाह दें।

जवाबों:


41

पहली बात यह सुनिश्चित करें कि आप उस डेटाबेस को अलग न करें।

अंतिम ज्ञात गुडबैकअप से पुनर्स्थापित करना ठीक है। अन्यथा आपको EMERGENCY मरम्मत मोड का उपयोग करने की आवश्यकता होगी (मुझे लगता है कि आप SQL 2005 या उच्चतर चला रहे हैं)। इस विषय पर पॉल रान्डल के कुछ पोस्ट यहां दिए गए हैं। कोई भी कार्रवाई शुरू करने से पहले उन दोनों को पढ़ें।

किसी SUSPECT डेटाबेस को बनाना, डिटैच करना, पुनः संलग्न करना और ठीक करना

आपातकालीन-मोड की मरम्मत: बहुत, बहुत अंतिम उपाय


5

बहुत ज्यादा हां।

आम तौर पर इसका मतलब है कि फाइलें बोलिस्ड या मिसिंग या डिस्क एरर या कुछ ऐसी हैं (मैंने देखा कि एक खराब सेक्टर इसका कारण है)।

मेरे कदम:

  • सुनिश्चित करें कि सभी बैकअप वहां मौजूद हैं
  • SQL सर्वर बंद करें
  • SQL सर्वर द्वारा उपयोग किए गए डिस्क को चकित करें (उम्मीद है कि आपका C: बिल्कुल नहीं)

संपादित करें: मैं अपना उत्तर स्पष्ट करूँगा

  • यदि डेटा महत्वपूर्ण है, तो मेरे पास बैकअप होगा
  • मरम्मत और आपातकालीन मोड के साथ खिलवाड़ करते समय डाउनटाइम मेरे लिए बहुत लंबा है

5

मैंने संदिग्ध डेटाबेस के 2 मामलों के लिए इस पर कुछ मार्गदर्शन लिखा है: जब आपने डेटा फ़ाइल या लॉग फ़ाइल खो दी है। कृपया निम्नलिखित पढ़ें:


5
तो यहाँ एक बात है: स्टैक एक्सचेंज काम नहीं करता है अगर आप सभी पोस्ट लिंक हैं। क्या हम आपको बस इतना करना लिंक में सामग्री को संक्षेप में प्रस्तुत करने के लिए है, या मैं सिर्फ अपने जवाब को नष्ट करने के लिए मजबूर हो जाएगा (और फिर आप प्रतिनिधि खो, और हम में से न तो ऐसा करना चाहता है)
jcolebrand

4

आपके प्रश्न से, ऐसा लगता है कि आपके पास एक बैकअप है। एक अच्छा बैकअप से DB को पुनर्स्थापित करना आपके DB परिचालन और संदिग्ध स्थिति से बाहर निकलने का सबसे आसान और तेज़ तरीका होगा।


5
लेकिन आप डेटा ढीला कर देंगे आप लेन-देन लॉग नहीं है।
mrdenny

0

मेरी पहली सलाह है; संदिग्ध डेटाबेस को कभी अलग न करें। अद्यतन बैकअप से डेटाबेस को पुनर्स्थापित करना सहायक है। यदि बैकअप उपलब्ध नहीं है या फिर समस्या है, तो EMERGENCYमोड उपयोगी हो सकता है:

डेटाबेस को आपातकालीन मोड में सेट करें:

ALTER DATABASE DB_NAME SET EMERGENCY

अब इसके साथ डेटाबेस की विसंगतियों की जाँच करें:

DBCC CHECKDB (‘DB_NAME’)

DBCC CHECKDB मरम्मत डेटा हानि विकल्प अंतिम उपाय है। परिणाम डेटा हानि हो सकता है इसलिए, मैं इसे चलाने का सुझाव नहीं देता।

यह भी जांच संदर्भ 1 और संदर्भ 2

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