sql >> データベース >  >> RDS >> Sqlserver

SQLServerデータベースですべての外部キー制約を有効にするスクリプトを生成する方法-SQLServer/TSQLチュートリアルパート78

    シナリオ:

    あなたはSQLServer開発者として働いています。データベースで無効になっているすべての外部キー制約を有効にするスクリプトを準備する必要があります。これが発生する可能性があります。参照整合性の違反を気にせず、後で有効にするのを忘れた場合に、誰かがデータロードの外部キー制約を無効にした可能性があります。


    解決策:

    まず、以下のクエリを使用して、ステータス付きの外部キー制約のリストを取得しましょう。

    --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
     
     
     
     
    SQLServerデータベースで外部キー制約が無効または有効になっているかどうかを確認する方法
     次に、以下のクエリを使用して、SQLServerデータベースで無効になっている外部キー制約を有効にするスクリプトを生成しましょう。

    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
    のFK
     
     
     
     
    SQLServerデータベースですべての外部キー制約を有効にするスクリプトを生成する方法
     
     結果をコピーしてSSMSで実行し、SQLServerデータベースで無効になっている外部キー制約を有効にします。

    ビデオデモ:SQLServerですべての外部キー制約を有効にするスクリプトを生成する方法


    1. RDBMSとNoSQLのブリッジング:2DXUIクラスターの概要

    2. MySQLでのINSTR()関数のしくみ

    3. SQL FLOAT:奇妙な数学エラーを回避するのに役立つ3つのポイント

    4. PleskCentOS7でMySQLをPerconaに置き換える方法