रिस्टोरिंग डेटाबेस को कैसे डिलीट करें


14

मैं SQL Server 2008 R2 के साथ लॉग शिपिंग चला रहा हूं।

मेरे पास एक ऐसी स्थिति है जहां माध्यमिक डेटाबेस ड्राइव अंतरिक्ष से बाहर चला गया और लॉग शिपिंग लेनदेन लॉग को लागू नहीं कर रहा था।

जिस तरह से मैं इसे ठीक करना चाहता हूं वह सेकेंडरी पर डेटाबेस को डिलीट कर देता है और लॉग शिपिंग को स्क्रैच से कॉन्फ़िगर करता है।

मेरे पास अब जो समस्या है वह यह है कि मेरे द्वितीयक डेटाबेस पुनर्स्थापना की स्थिति में हैं, और मैं उन्हें हटा नहीं सकता। मैं कैसे आगे बढ़ सकता हूं?

उदाहरण के लिए अगर मैं उन्हें ऑफ़लाइन लेने की कोशिश करता हूं तो मुझे त्रुटि मिलती है,

ALTER DATABASE is not permitted while the database is in the Restoring state.

आप एक पुनर्स्थापना डेटाबेस पर कोई परिवर्तन आदेश जारी नहीं कर सकते, एक ड्रॉप करने की आवश्यकता होगी।
जेसन कंबरलैंड

जवाबों:


25
RESTORE DATABASE dbname 
FROM DISK = 'dbname .bak'
WITH REPLACE, RECOVERY --force restore 

या केवल

RESTORE DATABASE dbname WITH RECOVERY

REPLACEमौजूदा डेटाबेस को अधिलेखित करें, इसे केवल तभी करें जब आप सुनिश्चित हों कि आप अपने मौजूदा डेटाबेस को ओवरराइड करना चाहते हैं जैसा कि आपने उल्लेख किया है कि इसे हटाने के लिए आपको परवाह नहीं है

रिकॉर्वरी के साथ पुनर्व्यवस्थित करना डिफ़ॉल्ट व्यवहार है जो डेटाबेस को अप्रयुक्त लेनदेन को वापस करके उपयोग के लिए तैयार छोड़ देता है। अतिरिक्त लेन-देन लॉग को पुनर्स्थापित नहीं किया जा सकता है।

जो डेटाबेस को ऑनलाइन लाना चाहिए। तब आप इसे हटा सकते हैं और पुनः प्रयास कर सकते हैं।


मेरा मानना ​​है कि आप जो कह रहे हैं उसे काम करना चाहिए था। हालांकि मेरा समाधान एसक्यूएल सेवा को फिर से शुरू करना था और उसके बाद काम कर रहे डेटाबेस को हटाना था।
पीटर

सच है, जबकि सेवा बंद है, लेनदेन लॉग को हटाना हमेशा एक नया बना देगा। सभी बेहतरीन
AmmarR

3

सबसे अच्छा तरीका है जैसा कि मैंने इस समस्या के साथ किया है, इस कमांड को 'ड्रॉप डेटाबेस [डेटाबेस का नाम] लिखें और फिर उसी नाम से नया बनाएं और फिर .bak फ़ाइल से डेटाबेस को पुनर्स्थापित करें क्योंकि .bak फ़ाइल दूषित या दोषपूर्ण है।


दूषित बैकअप के बारे में प्रश्न में कोई उल्लेख नहीं है।
ypercube y
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.