Sql server 从CLR函数接收SQL Server事件

Sql server 从CLR函数接收SQL Server事件,sql-server,events,sqlclr,Sql Server,Events,Sqlclr,我用几个方法编写了一个CLR类,这些方法在SQLServer2005数据库中作为函数链接。当其中几个函数在一个事务或连接的范围内使用时,我需要在事务或连接关闭时自动执行另一个函数来清理一些内容(现在这两个时间都可以,稍后我将决定哪一个是最好的)。我认为从另一个新的CLR函数接收事件可以做到这一点,但我不知道如何实现这一点 有人能告诉我模块、文档或其他信息吗?这些信息可以帮助我理解如何在CLR类中接收事务或连接关闭事件,或者在这些事件发生时如何执行特定函数 编辑:我创建了一个C#类,其中一个静态成

我用几个方法编写了一个CLR类,这些方法在SQLServer2005数据库中作为函数链接。当其中几个函数在一个事务或连接的范围内使用时,我需要在事务或连接关闭时自动执行另一个函数来清理一些内容(现在这两个时间都可以,稍后我将决定哪一个是最好的)。我认为从另一个新的CLR函数接收事件可以做到这一点,但我不知道如何实现这一点

有人能告诉我模块、文档或其他信息吗?这些信息可以帮助我理解如何在CLR类中接收事务或连接关闭事件,或者在这些事件发生时如何执行特定函数


编辑:我创建了一个C#类,其中一个静态成员用于存储值,两个静态方法用于设置和从该成员获取值。编译为DLL并将其作为程序集添加到SQL Server 2005。方法作为CLR函数添加到同一服务器。通过组合不同的连接和事务来交替地获取和设置值,我发现静态成员没有被重置。我希望有一种自动方式将存储值封装到一个事务或连接中(或清理静态成员),这样每个事务或连接存储的值就不会干扰另一个事务或连接

SQLCLR,就像在SQL Server内部运行的CLR一样,只有在从函数、过程、聚合或CLR类型方法调用CLR代码时才运行代码。CLR代码无法在调用之间保持状态,因此没有任何可能的理由运行清理代码。没有事务提交、连接关闭模块卸载或任何类似的回调。它们既不需要,也不受支持