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