sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man genererar skript för att aktivera alla främmande nyckelbegränsningar i SQL Server Database - SQL Server / TSQL Tutorial Del 78

Scenario:

Du arbetar som SQL Server-utvecklare. Du måste förbereda skript för att aktivera alla Foreign Key Constraint i en databas som är inaktiverade. Detta kan hända, någon kanske har inaktiverat Foreign Key Constraints för en dataladdning där de inte bryr sig om kränkning av referensintegritet och glömt att aktivera dem senare.


Lösning:

Låt oss först och främst få listan över främmande nyckelbegränsningar med status genom att använda nedanstående fråga

--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
 
 
 
 
Hur man kontrollerar om Foreign Key Constraint är inaktiverat eller aktiverat i SQL Server Database
 Låt oss nu generera skript för att aktivera de främmande nyckelbegränsningarna som är inaktiverade i SQL Server Database genom att använda nedanstående fråga.

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
 
 
 
 
Hur man genererar skript för att aktivera alla främmande nyckelbegränsningar i SQL Server Database
 
 Kopiera resultaten och kör i SSMS för att aktivera inaktiverade Foreign Key Constraints i SQL Server Database.

Videodemo :Hur man genererar skript för att aktivera alla Foreign Key Constraints i SQL Server


  1. Installera webbserver i FreeBSD 6.0 med Apache 2.2, MySQL 5.0 och PHP 5 – Del 3

  2. Oracle SQL Syntax:Citerad identifierare

  3. Hur kan jag återställa MySQL root-användarens fullständiga rättigheter?

  4. Hur man hittar n:e raden i MySQL