में डेटाबेस ड्रॉप और पुनर्निर्मित करना मैं माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 आर 2 एसपी 1 के साथ प्रयोग और सीख रहा हूं। मेरे पास एक डेटाबेस है जहां मैंने कई प्रयोग किए हैं। अब मैं इसे छोड़ना और फिर से बनाना चाहता हूं। इसलिए मैं डेटाबेस से निर्माण स्क्रिप्ट निकालने के लिए, मैं इसे हटा देता हूं और मैं इसे फिर से बनाने के लिए स्क्रिप्ट का उपयोग करता हूं। मेरे आश्चर्य के लिए, सभी टेबल, कुंजी आदि अभी भी वहां हैं। मैं डेटाबेस कैसे छोड़ूं, ताकि मैं डेटाबेस को स्क्रैच से पुनर्निर्माण कर सकूं?माइक्रोसॉफ्ट एसक्यूएल सर्वर
उत्तर
USE master
IF EXISTS(select * from sys.databases where name='yourDBname')
DROP DATABASE yourDBname
CREATE DATABASE yourDBname
मैं डेटाबेस
से निर्माण स्क्रिप्ट निकालने इस डेटाबेस में सब कुछ (टेबल, कुंजी आदि) के लिए निर्माण स्क्रिप्ट निकालें। आप बस एक खाली डेटाबेस बनाने के लिए चाहते हैं, बस चलाने CREATE DATABASE <dbname>
AnandPhadke करने के लिए +1 कोड के अपने हिस्से के लिए
इस कोड को डेटाबेस के लिए सभी सक्रिय कनेक्शन बंद करें और उसके होगा इसे छोड़
WHILE EXISTS(select NULL from sys.databases where name='YourDBName')
BEGIN
DECLARE @SQL varchar(max)
SELECT @SQL = COALESCE(@SQL,'') + 'Kill ' + Convert(varchar, SPId) + ';'
FROM MASTER..SysProcesses
WHERE DBId = DB_ID(N'YourDBName') AND SPId <> @@SPId
EXEC(@SQL)
DROP DATABASE [YourDBName]
END
GO
CREATE DATABASE YourDBName
GO
डीबीएनएएम को एक से अधिक बार टाइप करने की आवश्यकता है त्रुटि प्रवण है, किसी बिंदु पर इसे असंगत प्रविष्टियों और अनपेक्षित परिणामों के साथ निष्पादित किया जाएगा।
आनंद समर्थन के साथ आनंदधाके या पियरे के उत्तरों को मेरे लिए प्राथमिकता दी जाएगी।
DECLARE @DBName varchar(50) = 'YourDatabaseName'
USE master
IF EXISTS(select * from sys.databases where name= @DBName)
EXEC('DROP DATABASE ' + @DBName)
EXEC('CREATE DATABASE ' + @DBName)
या
DECLARE @DBName varchar(50) = 'YourDatabaseName'
WHILE EXISTS(select NULL from sys.databases where name = @DBName)
BEGIN
DECLARE @SQL varchar(max)
SELECT @SQL = COALESCE(@SQL,'') + 'Kill ' + Convert(varchar, SPId) + ';' FROM MASTER..SysProcesses WHERE DBId = DB_ID(@DBName) AND SPId <> @@SPId
EXEC(@SQL)
EXEC('DROP DATABASE ' + @DBName)
END
GO
यह मेरे लिए सबसे अच्छा काम करता है: (?)
if exists (select name from sys.databases where name='YourDBName')
alter database YourDBName set single_user with rollback immediate
go
if exists (select name from sys.databases where name='YourDBName')
drop database YourDBName
यह वास्तव में प्रश्न का उत्तर नहीं देता है। यदि आपके पास कोई अलग प्रश्न है, तो आप [प्रश्न पूछें] (http://stackoverflow.com/questions/ask) पर क्लिक करके पूछ सकते हैं। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (http://stackoverflow.com/help/) हो जाने पर आप इस प्रश्न पर अधिक ध्यान आकर्षित करने के लिए [एक बक्षीस] (http://stackoverflow.com/help/privileges/set-bounties) भी जोड़ सकते हैं। क्या-प्रतिष्ठा)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/12598382) –
मेरा मानना है कि आपने इस जवाब को गलत तरीके से गलत किया है, @ खान इमरान अली। यह जवाब देने की कोशिश करता है, हालांकि खराब है। इसे मतदान करके नियंत्रित किया जाना चाहिए, झंडे और नकारात्मक समीक्षा से नहीं। – Palec
कृपया अपना कोड क्या करता है और यह प्रश्न का उत्तर कैसे देता है, इसकी व्याख्या शामिल करें। अगर आपको एक कोड स्निपेट उत्तर के रूप में मिलता है, तो आप नहीं जानते कि इसके साथ क्या किया जाए। उत्तर ओपी और भविष्य के आगंतुकों मार्गदर्शन देना चाहिए। बताते हुए, आपके कोड के पीछे क्या विचार है, इस मुद्दे को समझने और आपके समाधान को लागू करने या संशोधित करने में काफी मदद करता है। – Palec
एसक्यूएल सर्वर 2016 (और ऊपर) समर्थन एक पंक्ति और परमाणु वाक्य रचना DROP DATABASE IF EXISTS database_name
REF : https://msdn.microsoft.com/en-us/library/ms178613.aspx
- 1. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2000
- 2. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008
- 3. माइक्रोसॉफ्ट एसक्यूएल सर्वर
- 4. माइक्रोसॉफ्ट एसक्यूएल सर्वर
- 5. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005
- 6. माइक्रोसॉफ्ट एसक्यूएल सर्वर
- 7. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 स्ट्रिंग
- 8. माइक्रोसॉफ्ट एसक्यूएल सर्वर प्रबंधन स्टूडियो
- 9. माइक्रोसॉफ्ट एसक्यूएल सर्वर ईमेल सत्यापन
- 10. माइक्रोसॉफ्ट एसक्यूएल सर्वर से MySQL
- 11. माइक्रोसॉफ्ट एसक्यूएल सर्वर से आर
- 12. सी # - माइक्रोसॉफ्ट एसक्यूएल सर्वर बनाम MySQL
- 13. माइक्रोसॉफ्ट एसक्यूएल सर्वर - किसने संग्रहित प्रक्रिया बनाई?
- 14. माइक्रोसॉफ्ट एसक्यूएल सर्वर कॉम्पैक्ट 3.5 डेटाबेस
- 15. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 आर 2
- 16. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 आर 2
- 17. फ्री टीडीएस बैश: माइक्रोसॉफ्ट एसक्यूएल सर्वर
- 18. क्या माइक्रोसॉफ्ट एसक्यूएल 2000+
- 19. क्लाइंट सांख्यिकी तालिका (माइक्रोसॉफ्ट एसक्यूएल सर्वर प्रबंधन स्टूडियो)
- 20. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में group_concat MySQL फ़ंक्शन सिम्युलेट करना?
- 21. भंडारण माइक्रोसॉफ्ट वर्ड 97 एसक्यूएल सर्वर कॉलम में दस्तावेजों
- 22. ज़ेंड फ्रेमवर्क 2 माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 डीबी कनेक्शन
- 23. क्रिस्टल रिपोर्ट बनाम माइक्रोसॉफ्ट एसक्यूएल सर्वर रिपोर्टिंग सेवाएं
- 24. क्या मैं माइक्रोसॉफ्ट एसक्यूएल सर्वर से MySQL वर्कबेंच
- 25. माइक्रोसॉफ्ट एक्सेस डेटटाइम अब एसक्यूएल
- 26. एसक्यूएल सर्वर
- 27. एक 3 जीबी एसक्यूएल फ़ाइल (माइक्रोसॉफ्ट एसक्यूएल सर्वर) निष्पादित करने के लिए कैसे?
- 28. एसक्यूएल सर्वर (सर्वर प्रबंधन स्टूडियो)
- 29. एसक्यूएल सर्वर 2008 R2
- 30. एसक्यूएल सर्वर 2008 डीबी * को * एसक्यूएल सर्वर 2005
आप सही हैं, मेरा सवाल बेवकूफ था। असल में, जिन टेबलों को मैं देखना जारी रख रहा था, वे वास्तव में मेरे डेटाबेस के बजाय मास्टर डेटाबेस में बनाए गए थे। –
इससे मुझे बहुत मदद मिली! –