我们正在尝试查明SQL Server表上发生的一些意外更新的来源。我想做的是在该表上创建一个触发器,监视我们感兴趣的列,并在发生更新时,将一些审计信息写入单独的表中。
对于诸如用户名,日期,旧列和新列值(来自Inserted
和Deleted
触发器表)之类的内容非常好用 - 但我想要更多: - )
在SQL事件探查器中,您可以在配置文件中看到连接到SQL Server的应用程序的名称 - 可以在连接字符串中定义为Application Name
的部分:
Data Source=(local);Initial Catalog=AdventureWorks;
Integrated Security=True;Application Name="My Application"
在T-SQL FOR UPDATE
触发器中是否有任何方法可以获取此信息?
答案 0 :(得分:31)
答案 1 :(得分:0)
不确定但是如果应用程序在多个服务器上,您是否可以记录服务器名称?它可能有助于缩小应用程序列表的范围。
答案 2 :(得分:0)
Marc_S sP_whoIsActive存储过程可能会解决您的问题 as posted here
顺便说一句,它是T-SQL的绝佳部分