Jika Anda ingin menonaktifkan semua batasan dalam database, jalankan saja kode ini:
-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
Untuk mengaktifkannya kembali, jalankan:(cetakan tentu saja opsional dan hanya mencantumkan tabel)
-- enable all constraints
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
Saya merasa berguna ketika mengisi data dari satu database ke database lainnya. Ini adalah pendekatan yang jauh lebih baik daripada menjatuhkan batasan. Seperti yang Anda sebutkan, itu berguna saat menjatuhkan semua data dalam database dan mengisinya kembali (katakanlah di lingkungan pengujian).
Jika Anda menghapus semua data, Anda mungkin menemukan solusi ini berguna.
Terkadang juga berguna untuk menonaktifkan semua pemicu, Anda dapat melihat solusi lengkapnya di sini.