【发布时间】:2017-04-13 15:18:06
【问题描述】:
我有一个多用户应用程序,它对 SQL 进行各种调用以更改各种表中的值。其中一些表上有触发器来审计更改。我在触发器中有代码,它尝试将@@SPID 返回的 SPID 值与用户在注册数据库访问(登录)时存储的 SPID 值进行匹配。
但是,我的测试表明,至少在某些时候,触发器运行时的 SPID 与之前保存的 SPID 不同。如何获取导致触发器运行的数据库更改的连接的 SPID?或者如果不是 SPID,某个值可以相当可靠地标识当前活动的 SQL 连接进行更改?
这是用于中期调试,不打算成为永久生产代码的一部分,但必须在实时系统上运行数天到数周。
【问题讨论】:
标签: sql-server triggers audit-logging