sql >> Databáze >  >> RDS >> Sqlserver

Jak vygenerovat skript pro povolení všech omezení cizích klíčů v databázi SQL Server - SQL Server / Výukový program TSQL, část 78

Scénář:

Pracujete jako vývojář SQL Serveru, musíte připravit skripty pro povolení všech omezení cizího klíče v databázi, které jsou zakázány. To se může stát, možná někdo zakázal omezení cizího klíče pro zatížení dat, kde se nestará o narušení referenční integrity, a zapomněl je povolit později.


Řešení:

Nejprve získáme seznam omezení cizího klíče se stavem pomocí níže uvedeného dotazu

--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
 
 
 
 
Jak zkontrolovat, zda je omezení cizího klíče v databázi SQL Server zakázáno nebo povoleno
 Nyní vygenerujme skripty pro povolení omezení cizího klíče, která jsou zakázána v databázi SQL Server pomocí níže uvedeného dotazu.

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
 
 
 
 
Jak vygenerovat skript pro povolení všech omezení cizího klíče v databázi SQL Server
 
 Zkopírujte výsledky a spusťte je v SSMS, abyste povolili deaktivovaná omezení cizích klíčů v databázi SQL Server.

Video ukázka:Jak vygenerovat skript pro povolení všech omezení cizích klíčů v SQL Server


  1. Jak AI změní vývoj a testování softwaru

  2. Problém s obnovením databáze Heroku

  3. Porovnejte dva řádky a identifikujte sloupce, jejichž hodnoty se liší

  4. Regulární výrazy na serverech SQL Server?