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