CLR トリガーを作成する
適用対象:SQL Server
.NET Framework 共通言語ランタイム (CLR) で作成されたアセンブリでプログラミングされたデータベース オブジェクトを SQL Server 内に作成できます。 CLR によって提供される豊富なプログラミング モデルを使用できるデータベース オブジェクトには、DML トリガー、DDL トリガー、ストアド プロシージャ、関数、集計関数、型があります。
SQL Serverで CLR トリガー (DML トリガーまたは DDL トリガー) を作成するには、次の手順を実行します。
トリガーを .NET Framework でサポートされる言語でクラスとして定義します。 CLR でのトリガーのプログラミング方法の詳細については、「 CLR トリガー」をご覧ください。 次に、適切な言語コンパイラを使用して.NET Frameworkでアセンブリを構築するためにクラスをコンパイルします。
CREATE ASSEMBLY
ステートメントを使用して、アセンブリを SQL Server に登録します。 SQL Server のアセンブリの詳細については、アセンブリ(データベース エンジンを参照してください。登録したアセンブリを参照するトリガーを作成します。
Note
Visual Studio で SQL Server プロジェクトを配置すると、プロジェクトに指定されたデータベースにアセンブリが登録されます。 プロジェクトを配置すると、SqlTrigger
属性で注釈が付けられたすべてのメソッドの CLR トリガーもデータベースに作成されます。 詳細については、「CLR データベース オブジェクト配置する」を参照してください。
SQL Server では、CLR コードの実行は既定でオフになっています。 マネージド コード モジュールを参照するデータベース オブジェクトを作成、変更、および削除できますが、sp_configureを使用して clr enabled サーバー構成オプションが有効になっていない限り、これらの参照は SQL Server では実行されません。