Tình huống:
Bạn đang làm việc với tư cách là nhà phát triển SQL Server, Bạn cần cung cấp tập lệnh để vô hiệu hóa tất cả Ràng buộc khóa ngoại trong cơ sở dữ liệu SQL Server. Đây có thể là tình huống mà bạn cần tải dữ liệu một lần và bạn sẽ ổn nếu dữ liệu vi phạm tính toàn vẹn của tham chiếu.Giải pháp:
Hãy lấy danh sách các Ràng buộc khóa ngoại từ Cơ sở dữ liệu SQL Server trước khi chúng tôi tạo tập lệnh tắt.
--Get List of Foreign Key Constraints if Enabled or Disabled USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) as TableName, name as ForeignKeyConstraintName, Case When Is_disabled=1 Then 'No' ELSE 'Yes' End as IsEnabled from sys.foreign_keys
Cách kiểm tra xem Ràng buộc khóa ngoại được Bật hay Tắt trong SQL Server |
Bây giờ chúng ta hãy tạo tập lệnh để vô hiệu hóa ràng buộc khóa ngoại trong cơ sở dữ liệu SQL Server
USE YourdatabaseName go -- Drop Foreign Key Constraints Script SELECT distinct 'ALTER TABLE ' + '['+ Schema_name(FK.schema_id) + '].['+ OBJECT_NAME(FK.parent_object_id) + ']'+ ' NOCHECK CONSTRAINT ' + '[' + FK.name + ']' AS DisableConstraintQuery FROM sys.foreign_keys AS FK where is_disabled=0
Cách tạo Tập lệnh để vô hiệu hóa tất cả ràng buộc khóa ngoại trong cơ sở dữ liệu SQL Server |
Video Demo:Cách tắt tất cả Ràng buộc khóa ngoại trong Cơ sở dữ liệu SQL Server