创建 CLR 触发器

适用范围:SQL Server

可以在 SQL Server 中创建数据库对象,该对象由在 .NET Framework 公共语言运行时(CLR)中创建的程序集编程。 可以使用 CLR 提供的丰富编程模型的数据库对象包括 DML 触发器、DDL 触发器、存储过程、函数、聚合函数和类型。

在 SQL Server 中创建 CLR 触发器(DML 或 DDL)包括以下步骤:

  • 使用 .NET Framework 支持的语言将触发器定义为类。 有关如何在 CLR 中对触发器进行编程的详细信息,请参阅 CLR 触发器。 然后,使用适当的语言编译器编译该类,在 .NET Framework 中生成程序集。

  • 使用 CREATE ASSEMBLY 语句在 SQL Server 中注册程序集。 有关 SQL Server 中的程序集的详细信息,请参阅程序集(数据库引擎)

  • 创建用于引用已注册的程序集的触发器。

注意

在 Visual Studio 中部署 SQL Server 项目会注册为项目指定的数据库中的程序集。 部署项目还会为标注有 SqlTrigger 属性的所有方法在数据库中创建 CLR 触发器。 有关详细信息,请参阅 部署 CLR 数据库对象。

默认情况下,在 SQL Server 中,执行 CLR 代码处于关闭状态。 可以创建、更改和删除引用托管代码模块的数据库对象,但这些引用不会在 SQL Server 中执行,除非通过使用 sp_configure启用 clr enabled 服务器配置选项。

创建、修改或删除程序集

创建 CLR 触发器