查找导致意外表更新的查询或语句的详细信息

时间:2010-05-27 14:26:32

标签: sql sql-server-2005

我们的数据库(SQL Server 2005)中的ghost更新一直存在问题。字段正在更改,我们无法找到执行更新的例程。

有没有办法,(可能使用更新触发器?)来确定导致更新的原因? SQL语句,进程,用户名/登录等?

4 个答案:

答案 0 :(得分:3)

使用SQL Server Profiler

您可能希望过滤掉您不需要的内容,因此可能需要一段时间才能完成设置。

至少它会让你进入负责的程序/查询以及用户/计算机进行更改,然后在你的代码中找到它。

答案 1 :(得分:1)

答案 2 :(得分:1)

执行更新时可以获得您要求的所有信息。 SQL Profiler肯定会起作用,但是制作一个不会让你无法使用数据的过滤器是一项工作,特别是如果你需要一次运行几天或几周。更新触发器很容易创建,您可以在新表中记录所需的信息。

答案 3 :(得分:0)

我可能会先使用AutoAudit在桌面上生成触发器。

在确切知道改变数据的方面有些限制,但这是一个开始。

您可以随时查看触发器并将其修改为仅记录您感兴趣的某些列,并可能获取当前未记录的更多信息。