Scenarie:
Du arbejder som SQL Server-udvikler. Du skal levere scripts for at deaktivere alle Foreign Key Constraint i SQL Server-databasen. Dette kan være et scenarie, hvor du skal indlæse engangsdata, og du er okay, hvis data krænker referenceintegriteten.Løsning:
Lad os få listen over fremmednøglebegrænsninger fra en SQL Server-database, før vi genererer deaktiveringsscriptet.
--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
Sådan kontrollerer du, om begrænsning af fremmed nøgle er aktiveret eller deaktiveret i SQL Server |
Lad os nu generere script for at deaktivere begrænsning af fremmed nøgle i SQL Server-database
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
Sådan genereres script for at deaktivere alle fremmednøglebegrænsninger i SQL Server-databasen |
Videodemo :Sådan deaktiveres alle fremmednøglebegrænsninger i SQL Server-databasen