कभी-कभी बाहरी डेटा स्रोत से खाली डेटाबेस को पॉप्युलेट करने या डेटाबेस में किसी समस्या को डीबग करने के लिए मुझे सभी ट्रिगर्स और बाधाओं को अक्षम करने की आवश्यकता होती है। ऐसा करने के लिए मैं निम्नलिखित कोड का उपयोग करें:
सभी बाधाओं को निष्क्रिय और चलाता है के लिए:
sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER all"
सभी बाधाओं को सक्षम और चलाता है के लिए:
exec sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? ENABLE TRIGGER all"
मुझे लगता है कि समाधान नहीं मिला कुछ समय पहले SQLServerCentral पर, लेकिन सक्षम बाधाओं को संशोधित करने की आवश्यकता थी क्योंकि मूल व्यक्ति पूरी तरह से काम नहीं करता था
धन्यवाद! मुझे लगता है कि मेरी साइट पर SQL सर्वर 2005 की भरोसा बहुत अच्छी तरह से दिख रही है। –
कोई चिंता नहीं; एक लंबे समय के लिए एक डीबीए बनें और ये चीजें स्वचालित हो जाती हैं :) –
यानी यदि आप एक ट्रिगर को संशोधित करने के विकल्प का उपयोग करते हैं और लिपि में 'वैकल्पिक ट्रिगर [डीबीओ] होता है। [trgWhatever] चालू [dbo]। [tblWhatever]' तो आप 'अक्षम ट्रिगर [डीबीओ] की आवश्यकता है। [trgWhatever] [dbo] पर। [tblWhatever]' और 'ट्रिगर [डीबीओ] सक्षम करें। [trgWhatever] [dbo] पर। [tblWhatever]' –