トリガーの移行Migrating Triggers

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、DDL トリガーとメモリ最適化テーブルについて説明します。This topic discusses DDL triggers and memory-optimized tables.

DML トリガーはメモリ最適化テーブルでサポートされていますが、FOR または AFTER トリガー イベントを使用する場合に限られます。DML triggers are supported on memory-optimized tables, but only with the FOR | AFTER trigger event. 例については「 FROM またはサブクエリを使用した UPDATE を実装する」を参照して下さい。For an example see Implementing UPDATE with FROM or Subqueries.

LOGON トリガーとは、LOGON イベントで起動するように定義されたトリガーです。LOGON triggers are triggers defined to fire on LOGON events. LOGON トリガーは、メモリ最適化テーブルに影響しません。LOGON triggers do not affect memory-optimized tables.

DDL トリガーDDL Triggers

DDL トリガーとは、自らを定義しているデータベースまたはサーバーに対して CREATE、ALTER、DROP、GRANT、DENY、REVOKE、または UPDATE STATISTICS の各ステートメントを実行したときに起動するように定義されているトリガーです。DDL triggers are triggers defined to fire when a CREATE, ALTER, DROP, GRANT, DENY, REVOKE, or UPDATE STATISTICS statement is executed on the database or server on which it is defined.

データベースまたはサーバーで、CREATE_TABLE イベントまたはこのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが定義されている場合は、メモリ最適化テーブルを作成できません。You cannot create memory-optimized tables if the database or server has one or more DDL trigger defined on CREATE_TABLE or any event group that includes it. データベースまたはサーバーで、DROP_TABLE イベントまたはこのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが定義されている場合は、メモリ最適化テーブルを削除できません。You cannot drop a memory-optimized table if the database or server has one or more DDL trigger defined on DROP_TABLE or any event group that includes it.

CREATE_PROCEDURE、DROP_PROCEDURE、またはこれらのイベントを含むイベント グループに対応する 1 つ以上の DDL トリガーが存在している場合は、ネイティブ コンパイル ストアド プロシージャを作成できません。You cannot create natively compiled stored procedures if there are one or more DDL triggers on CREATE_PROCEDURE, DROP_PROCEDURE, or any event group that includes those events.

参照See Also

インメモリ OLTP への移行Migrating to In-Memory OLTP