次の方法で共有


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 では実行されません。

アセンブリを作成、変更、または削除する

CLR トリガーを作成する