日期:2014-05-16  浏览次数:20652 次

问1个关于SQL日志的问题
问题是这样的,有1个客户的某个表,其中有1列数据会无规律的,隔几天发生1次变化。
表中有几十万行数据,1次性会变几万行,这个表的数据主要是通过界面
新增进去,1单也就几十行,客户要改,1般也就改最近几天的单,但是去年就开单的数据也会变。
软件有几百家客户在用,只有这1家客户有这样的情况,头大了

我现在想知道到底是什么样的SQL把此列的数据更改了,有什么方法吗?
给个思路也行,非常感谢!
------解决方案--------------------
2008之前可以用log explore来查看,也可以建个sql trace来跟踪语句,更重要的应该是程序上的改进,如果这种操作真的不允许修改,就应该在前端开始做限制
------解决方案--------------------
建议用触发器记录表字段数据变化的日志.
参考 http://blog.csdn.net/ap0405140/article/details/8896330
------解决方案--------------------
有没有触发器?
------解决方案--------------------
建议用触发器记录表字段数据变化的日志.
可以记录每次新增,修改,删除此字段值的操作详细信息(含登录名,主机名,IP地址,执行的TSQL语句,程序名等等), 以利于问题的排查.
参考 http://blog.csdn.net/ap0405140/article/details/8896330
------解决方案--------------------
这种,最好就是用出触发器了,就像你说的代码太多,根本看不过来的。

监控SQL:通过SQL Server的DML触发器来监控哪些IP对表的数据进行了修改(2)
http://blog.csdn.net/sqlserverdiscovery/article/details/17020035
------解决方案--------------------
如果业务量不是很大,可以考虑使用 trace 或 TR 来跟踪一下。个人认为,应该是他们前面界上做了操作或者是你有一些 job 在运行,只改他家数据, 不改别人家的。