Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tạo tập lệnh để bật tất cả ràng buộc khóa ngoại trong cơ sở dữ liệu SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 78

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 chuẩn bị các tập lệnh để bật tất cả Ràng buộc khóa ngoại trong cơ sở dữ liệu đã bị vô hiệu hóa. Điều này có thể xảy ra, có thể ai đó đã vô hiệu hóa Ràng buộc khóa ngoại để tải dữ liệu mà họ không quan tâm đến việc vi phạm tính toàn vẹn tham chiếu và quên bật chúng sau này.


Giải pháp:

Trước hết, hãy lấy danh sách Ràng buộc khóa ngoại với trạng thái bằng cách sử dụng truy vấn dưới đây

--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 Tắt hay Bật trong Cơ sở dữ liệu SQL Server
 Bây giờ, hãy tạo tập lệnh để kích hoạt Ràng buộc khóa ngoại đã bị vô hiệu hóa trong Cơ sở dữ liệu máy chủ SQL bằng cách sử dụng truy vấn bên dưới. 

USE YourdatabaseName
go
-- Enable Foreign Key Constraints Script 
SELECT distinct 'ALTER TABLE ' 
+ '['+ Schema_name(FK.schema_id) 
+ '].['+ OBJECT_NAME(FK.parent_object_id) 
+ ']'+ ' CHECK  CONSTRAINT ' 
+ '[' + FK.name + ']' AS EnableConstraintQuery
 FROM   sys.foreign_keys AS FK
 where is_disabled=1
 
 
 
 
Cách tạo tập lệnh để bật tất cả Ràng buộc khóa ngoại trong Cơ sở dữ liệu SQL Server
 
 Sao chép kết quả và chạy trong SSMS để bật Ràng buộc khóa ngoài đã tắt trong Cơ sở dữ liệu SQL Server. 

Video Demo:Cách tạo tập lệnh để bật tất cả Ràng buộc khóa ngoài trong SQL Server


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt SQL Server Manager Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 1

  2. Làm cách nào để kết nối máy chủ sql với php bằng xampp?

  3. Đổi tên khóa ngoại trong SQL Server bằng T-SQL

  4. Làm thế nào để đối phó với các tên cột SQL trông giống như các từ khóa SQL?

  5. Điều kiện chạy hàng đợi quy trình SQL Server