このトピックでは、DDL トリガーの作成、DDL トリガーの変更、DDL トリガーの無効化または削除に役立つ情報を提供します。
DDL トリガーの作成
DDL トリガーは、DDL トリガーに対して Transact-SQL CREATE TRIGGER ステートメントを使用して作成されます。
DDL トリガーを作成するには
重要
今後のバージョンの SQL Serverでは、トリガーを使用して結果セットを返す機能が削除される予定です。 結果セットを返すトリガーは、動作するように設計されていないアプリケーションで予期しない動作を引き起こす可能性があります。 新しい開発作業では、トリガーを使用して結果セットを返すことを避け、現在この方法を使用しているアプリケーションについては変更を検討してください。 トリガーが SQL Server で結果セットを返さないようにするには、 トリガーからの許可しない結果オプション を 1 に設定します。 このオプションの既定の設定は、将来のバージョンの SQL Server では 1 になります。
DDL トリガーの変更
DDL トリガーの定義を変更する必要がある場合は、トリガーを削除して再作成するか、1 つのステップで既存のトリガーを再定義することができます。
DDL トリガーによって参照されるオブジェクトの名前を変更する場合は、テキストに新しい名前が反映されるようにトリガーを変更する必要があります。 したがって、オブジェクトの名前を変更する前に、オブジェクトの依存関係を最初に表示して、提案された変更によってトリガーが影響を受けるかどうかを判断します。
トリガーは、定義を暗号化するように変更することもできます。
トリガーを変更するには
トリガーの依存関係を表示するには
DDL トリガーの無効化と削除
DDL トリガーが不要になったら、無効にするか削除できます。
DDL トリガーを無効にしても削除されません。 トリガーは、現在のデータベース内のオブジェクトとして引き続き存在します。 ただし、プログラムされた Transact-SQL ステートメントが実行された場合、トリガーは起動しません。 無効になっている DDL トリガーは、再び有効にすることができます。 DDL トリガーを有効にすると、トリガーが最初に作成されたときと同じ方法で起動します。 DDL トリガーが作成されると、既定で有効になります。
DDL トリガーが削除されると、現在のデータベースから削除されます。 DDL トリガーのスコープが設定されているオブジェクトまたはデータは影響を受けません。
DDL トリガーを無効にするには
DDL トリガーを有効にするには
DDL トリガーを削除するには