Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So generieren Sie ein Skript, um alle Fremdschlüsseleinschränkungen in der SQL Server-Datenbank zu aktivieren - SQL Server / TSQL-Lernprogramm Teil 78

Szenario:

Sie arbeiten als SQL Server-Entwickler. Sie müssen Skripte vorbereiten, um alle Foreign Key Constraints in einer Datenbank zu aktivieren, die deaktiviert sind. Dies könnte passieren, vielleicht hat jemand Foreign Key Constraints für einen Datenladevorgang deaktiviert, bei dem er sich nicht um die Verletzung der referenziellen Integrität kümmert, und vergessen, sie später zu aktivieren.


Lösung:

Lassen Sie uns zunächst die Liste der Fremdschlüsseleinschränkungen mit Status abrufen, indem Sie die folgende Abfrage verwenden

--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
 
 
 
 
So überprüfen Sie, ob die Fremdschlüsselbeschränkung in der SQL Server-Datenbank deaktiviert oder aktiviert ist
 Lassen Sie uns nun Skripte generieren, um die Fremdschlüsseleinschränkungen zu aktivieren, die in der SQL Server-Datenbank deaktiviert sind, indem Sie die folgende Abfrage verwenden.

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
 
 
 
 
Wie man ein Skript generiert, um alle Fremdschlüsseleinschränkungen in der SQL Server-Datenbank zu aktivieren
 
 Kopieren Sie die Ergebnisse und führen Sie sie in SSMS aus, um deaktivierte Fremdschlüsseleinschränkungen in der SQL Server-Datenbank zu aktivieren.

Videodemo:So generieren Sie ein Skript, um alle Fremdschlüsseleinschränkungen in SQL Server zu aktivieren