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