CLR トリガーの作成
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
MicrosoftVisual Studio で SQL Server プロジェクトを配置すると、そのプロジェクトで指定されたデータベースにアセンブリが登録されます。 また、プロジェクトを配置することで、SqlTrigger
属性で注釈が付けられたすべてのメソッドの CLR トリガーがデータベースに作成されます。 詳細については、「 CLR データベース オブジェクトの配置」を参照してください。
Note
CLR コードを実行する SQL Server の機能は、既定では無効になっています。 マネージド コード モジュールを参照するデータベース オブジェクトを作成、変更、削除することはできますが、 SQL Server sp_configure (Transact-SQL) を使用して clr enabled オプション を有効にしないと、では、これらの参照が実行されません。
アセンブリを作成、変更、または削除するには
CLR トリガーを作成するには
参照
DML トリガー
CLR (共通言語ランタイム) 統合のプログラミング概念
CLR データベース オブジェクトからのデータ アクセス