get语句触发了触发器。或其他标识符

时间:2013-06-11 13:53:54

标签: sql-server-2008 triggers

我有一张表(有库存的商品),可以从多个应用程序中更新。

所有查询都应该设置一个带有一些审计信息(用户和表单)的字段'src',但是有些查询没有这样做。

我打算在更新时创建一个触发器,它会检查'src'字段是否已更改。 如果没有设置'src',我想回滚更新并触发错误,但是也要记录查询,所以我最好能识别出有问题的应用程序。

触发器是否可以使用实际查询文本? 或任何其他标识符? 与数据库的所有连接都是通过Web服务器上的脚本完成的,具有两个登录之一,但来自一小撮服务器,因此服务器的ip可能很有用。

1 个答案:

答案 0 :(得分:0)

可用的连接信息是:

select * 
  from sys.dm_exec_connections as EC inner join
    sys.dm_exec_sessions as ES on ES.session_id = EC.session_id
  where EC.session_id = @@SPID

AFAIK你无法在触发器中获得触发语句。