トリガーの移行

適用対象:SQL ServerAzure SQL データベースAzure SQL Managed Instance

このトピックでは、DDL トリガーとメモリ最適化テーブルについて説明します。

DML トリガーはメモリ最適化テーブルでサポートされていますが、FOR または AFTER トリガー イベントを使用する場合に限られます。 例については、「 FROM またはサブクエリを使用した UPDATE の実装」を参照してください。

LOGON トリガーとは、LOGON イベントで起動するように定義されたトリガーです。 LOGON トリガーは、メモリ最適化テーブルに影響しません。

DDL トリガー

DDL トリガーは、CREATE、ALTER、DROP、 GRANT、 DENY、 REVOKE、または UPDATE STATISTICS ステートメントが、それが定義されているデータベースまたはサーバーで実行されたときに起動するように定義されたトリガーです。

データベースまたはサーバーで、CREATE_TABLE イベントまたはこのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが定義されている場合は、メモリ最適化テーブルを作成できません。 データベースまたはサーバーで、DROP_TABLE イベントまたはこのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが定義されている場合は、メモリ最適化テーブルを削除できません。

CREATE_PROCEDURE、DROP_PROCEDURE、またはこれらのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが存在している場合は、ネイティブ コンパイル ストアド プロシージャを作成できません。