Сценарий:
Вие работите като SQL Server / ETL разработчик. Трябва да заредите куп данни в таблици в базата данни на SQL Server. Проверете Ограниченията се създават на различни таблици. Има вероятност данните, които ще заредите, да не отговарят на изискванията за проверка на ограничението. Бизнесът все пак иска да заредите данните, дори и те да не отговарят на изискванията за проверка на ограничението. Искате временно да деактивирате всички ограничения в базата данни на SQL Server и след това да заредите данните и след това да активирате отново проверките на ограниченията.
Решение:
Скриптът по-долу може да се използва за генериране на скрипт за деактивиране на проверката за всички ограничения за проверка, които са активирани в базата данни. Можете допълнително да филтрирате таблиците в клаузата where, ако не искате да генерирате скрипт за всички таблици.--Generate Script to Disable All Check Constraint in SQL Server Database Select DB_Name() AS DBName, Schema_Name(Schema_id) AS TableSchema, Object_name(parent_object_id) as TableName, definition, 'Alter Table [' + Schema_Name(Schema_id) + '].[' + Object_name(parent_object_id) + ']' + ' NOCHECK CONSTRAINT ' + '[' + NAME + ']' AS DisableCheckConstraint From sys.check_constraints where is_disabled=0
Как да генерирате скриптове за деактивиране на всички ограничения за проверка в базата данни на SQL Server |
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB] ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Видео демонстрация:Как да генерирате скриптове за деактивиране на всички проверки на ограничения в SQL Server