適用対象:SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を使用して、SQL Server で nested triggers
サーバー構成オプションを構成する方法について説明します。
nested triggers
オプションは、AFTER
トリガーをカスケードできるかどうかを制御します。 つまり、1 つの操作が別のトリガーを開始し、開始されたトリガーからさらに別のトリガーを開始するなどの動作ができるかどうかを制御します。
nested triggers
が 0
に設定されている場合、AFTER
トリガーはカスケードできません。
nested triggers
が 1
(既定) に設定されている場合、AFTER
トリガーは 32 レベルまでカスケードできます。
INSTEAD OF
トリガーは、このオプションの設定に関係なく入れ子にできます。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。
ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio を使用します。
オブジェクト エクスプローラーで、サーバーを右クリックし、 [プロパティ] を選択します。
[詳細設定] ページで、 [トリガーから他のトリガーの起動を許可する] オプションを [True] (既定) または [False] に設定します。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して、
nested triggers
オプションの値を0
に設定する方法を示します。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'nested triggers', 0; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
詳しくは、「サーバー構成オプション」をご覧ください。
補足情報: nested triggers オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。