Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да генерирате скрипт, за да активирате всички ограничения на външния ключ в базата данни на SQL Server - SQL Server / TSQL Урок, част 78

Сценарий:

Вие работите като разработчик на SQL Server, трябва да подготвите скриптове, за да активирате всички ограничения на външния ключ в база данни, които са деактивирани. Това може да се случи, може би някой е деактивирал ограниченията на външния ключ за натоварване на данни, при което не се интересува от нарушаване на референтната цялост и е забравил да ги активира по-късно.


Решение:

Първо, нека вземем списъка с ограниченията на външния ключ със статус, като използваме по-долу заявка

--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
 
 
 
 
Как да проверите дали ограничението на външния ключ е деактивирано или активирано в базата данни на SQL Server
 Сега нека генерираме скриптове, за да активираме ограниченията на външния ключ, които са деактивирани в базата данни на SQL Server, като използваме заявката по-долу.

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
 
 
 
 
Как да генерирам скрипт за активиране на всички ограничения на външния ключ в базата данни на SQL Server
 
 Копирайте резултатите и стартирайте в SSMS, за да активирате деактивирани ограничения на външния ключ в базата данни на SQL Server.

Видео демонстрация:Как да генерирате скрипт, за да активирате всички ограничения на външния ключ в SQL Server


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на размера на съхранение „datetime2“ в SQL Server

  2. NOT IN срещу NOT EXISTS

  3. Променете ограничение CHECK в SQL Server с помощта на T-SQL

  4. Ноу как да възстановите изтрити записи в SQL Server

  5. SQL Server (TSQL) - Възможно ли е паралелно да се изпълняват оператори EXEC?