यदि आप डेटाबेस में सभी बाधाओं को अक्षम करना चाहते हैं तो बस इस कोड को चलाएं:
-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
उन्हें वापस चालू करने के लिए, दौड़ें:(प्रिंट निश्चित रूप से वैकल्पिक है और यह केवल तालिकाओं को सूचीबद्ध कर रहा है)
-- enable all constraints
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
एक डेटाबेस से दूसरे डेटाबेस में डेटा पॉप्युलेट करते समय मुझे यह उपयोगी लगता है। बाधाओं को छोड़ने की तुलना में यह बहुत बेहतर तरीका है। जैसा कि आपने उल्लेख किया है कि डेटाबेस में सभी डेटा को छोड़ते समय और इसे फिर से भरना (परीक्षण वातावरण में कहें) आसान होता है।
यदि आप सभी डेटा को हटा रहे हैं तो आपको यह समाधान मददगार लग सकता है।
साथ ही कभी-कभी सभी ट्रिगर को अक्षम करना भी आसान होता है, आप यहां पूरा समाधान देख सकते हैं।