Scenarie:
Du arbejder som SQL Server-udvikler. Du skal forberede scripts for at aktivere alle Foreign Key Constraint i en database, som er deaktiveret. Dette kan ske, måske har nogen deaktiveret Foreign Key Constraints for en dataindlæsning, hvor de er ligeglade med krænkelse af referenceintegritet og glemte at aktivere dem senere.
Løsning:
Lad os først og fremmest få listen over fremmednøglebegrænsninger med status ved at bruge nedenstående forespørgsel
--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 Foreign Key Constraint er deaktiveret eller aktiveret i SQL Server-databasen |
Lad os nu generere scripts for at aktivere Foreign Key Constraints, som er deaktiveret i SQL Server Database ved at bruge nedenstående forespørgsel.
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
|
Sådan genereres script for at aktivere alle fremmednøglebegrænsninger i SQL Server-databasen |
Kopier resultaterne og kør i SSMS for at aktivere deaktiverede Foreign Key Constraints i SQL Server Database.
Videodemo :Sådan genereres script for at aktivere alle Foreign Key Constraints i SQL Server