Trong bài đăng này, tôi đang chia sẻ tập lệnh để bật và tắt khóa ngoại và kiểm tra ràng buộc trong SQL Server.
Trong mục đích kiểm tra và di chuyển dữ liệu, Nhà phát triển cơ sở dữ liệu yêu cầu tắt ràng buộc khóa ngoài hoặc ràng buộc Kiểm tra.
Khi bạn vô hiệu hóa ràng buộc, sau đó bạn có thể cần bật lại, nhưng trong quá trình thực hiện này, hãy đảm bảo rằng tất cả các thay đổi dữ liệu của bạn là chính xác và theo quy tắc ràng buộc khác, bạn không nên bật các ràng buộc đó.
Bạn chỉ có thể tắt / bật tác vụ trên Khóa ngoại và Ràng buộc Kiểm tra.
Bạn không thể thực hiện tắt / bật trên Khóa chính và Khóa duy nhất.
Tắt tất cả khóa ngoại và kiểm tra ràng buộc:
1 | EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT ALL" |
Bật tất cả khóa ngoại và kiểm tra ràng buộc:
1 2 | EXEC sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL" |
Tắt tất cả các ràng buộc bảng:
1 | ALTER TABLE table_name NOCHECK CONSTRAINT ALL |
Bật tất cả các ràng buộc bảng:
1 | ALTER TABLE table_name CHECK CONSTRAINT ALL |
Vô hiệu hóa một ràng buộc duy nhất:
1 | ALTER TABLE table_name NOCHECK CONSTRAINT constraint_name |
Bật một hạn chế duy nhất:
1 | ALTER TABLE table_name CHECK CONSTRAINT constraint_name |