次の方法で共有


DDL トリガーを実装する

このトピックでは、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 トリガーを削除するには