シナリオ:
SQLServer開発者またはETL開発者として作業しています。データをロードする前にSQLServerデータベースのすべてのチェック制約を無効にしました。 SQLServerデータベースで無効になっているすべてのチェック制約に対して有効なチェック制約スクリプトを生成できるスクリプトを提供する必要があります。
解決策:
システムオブジェクトを使用して、EnableCheckConstraintsスクリプトを生成できます。以下のクエリを使用して、チェック制約を有効にするスクリプトを生成できます。すべてのチェック制約を有効にしたくない場合は、where句でオブジェクトをさらにフィルタリングできます。
--Generate Script to Enable 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)
+ ']' + ' CHECK CONSTRAINT '
+ '[' + NAME + ']' AS EnableCheckConstraint
From sys.check_constraints
where is_disabled=1
|
SQLServerデータベースですべてのチェック制約スクリプトを有効にする | を生成する方法
EnableCheckConstraint列から結果をコピーし、SSMSに貼り付けて、実行します。
Alter Table [dbo].[Customer22] CHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]
Alter Table [dbo].[Employee] CHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Video Demo : How to generate Scripts to enable all Check Constraints
in SQL Server Database