SQL Server 2008 में डेटाबेस ड्रॉप करने के लिए कैसे बाध्य करें


68

मैं एक डेटाबेस को छोड़ने के लिए मजबूर करने की कोशिश कर रहा हूं, लेकिन डेटाबेस को छोड़ने के बाद, जब मैं डेटाबेस को फिर से बनाने की कोशिश करता हूं, तो मुझे त्रुटि मिल रही है

फ़ाइल C: \ Program Files नहीं बना सकते हैं ..... [databasename] .mdf क्योंकि यह पहले से मौजूद है

यहाँ डेटाबेस को छोड़ने के लिए मेरी क्वेरी है

Use master;
ALTER database [databasename] set offline with ROLLBACK IMMEDIATE;
DROP database [databasename];

मैं समझ गया कि, उपरोक्त क्वेरी डेटाबेस को छोड़ रही है, लेकिन यह फ़ाइलों .ldfऔर .mdfफ़ाइलों को हटा नहीं रहा है । डेटाबेस को अच्छी तरह से कैसे छोड़ें?

एक सामान्य प्रश्न

Drop database [databasename] ; //deletes the database completely, including the ldf and mdf's.

किसी डेटाबेस को ड्रॉप करने के लिए कैसे बाध्य करें, जो फ़ाइलों .mdfऔर .ldfफ़ाइलों को भी हटा देता है ?

जवाबों:


116

यह अपेक्षित और प्रलेखित व्यवहार है :

डेटाबेस को छोड़ने से डेटाबेस को SQL सर्वर की आवृत्ति से हटा दिया जाता है और डेटाबेस द्वारा उपयोग की जाने वाली भौतिक डिस्क फ़ाइलों को हटा देता है। यदि डेटाबेस या इसकी किसी भी फाइल को ऑफ़लाइन कर दिया जाता है, तो इसे हटा दिया जाता है। इन फ़ाइलों को मैन्युअल रूप से विंडोज एक्सप्लोरर का उपयोग करके हटाया जा सकता है। फ़ाइल सिस्टम से फ़ाइलों को हटाने के बिना वर्तमान सर्वर से एक डेटाबेस को हटाने के लिए, sp_detach_db का उपयोग करें।

तो आप अपने डेटाबेस को पहले ऑफ़लाइन क्यों ले रहे हैं? बस इसे SINGLE_USERमोड में सेट करें और फिर SQL सर्वर बुक्स ऑनलाइन पर प्रलेखित के रूप में छोड़ दें।

USE master;
ALTER DATABASE [databasename] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [databasename] ;

नोट, डेटाबेस बैकअप ऊपर प्रलेखित प्रक्रिया के भाग के रूप में हटाया नहीं जाएगा।

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