+ -
当前位置:首页 → 问答吧 → 求助!数据库数据问题!

求助!数据库数据问题!

时间:2011-12-02

来源:互联网

数据库:sql server 2000数据库
问题:某表的一条记录(这是一个很重要的表),总是不知道什么原因发生变化(由0边成1)。可以排除人为改动因素。但是又不知道是哪个程序模块(程序模块较多)造成的问题,也不清除是不是触发器或存储过程(表,触发器,存储过程较多)造成。我现在应该怎么来查找问题所在呢?求高手指点。

作者: csqqx   发布时间: 2011-12-02

这么多可能,只有自己通过程序来测试

作者: jiangzhong610   发布时间: 2011-12-02

如果是2005还可以用跟踪。
可以考虑在这个表上建一个 update 触发器,监测数据是何时,由何人将它由 0 变 1 的,再根据此时间是什么程序在执行去判断。

作者: qianjin036a   发布时间: 2011-12-02

可以建一个监测表,当数据变化时,将触发器将尽可能多的信息写到这个表中。

作者: qianjin036a   发布时间: 2011-12-02

查看日志 log explorer

作者: ssp2009   发布时间: 2011-12-02

查看数据库日志文件试试

作者: gandeng   发布时间: 2011-12-02

引用 2 楼 qianjin036a 的回复:
如果是2005还可以用跟踪。
可以考虑在这个表上建一个 update 触发器,监测数据是何时,由何人将它由 0 变 1 的,再根据此时间是什么程序在执行去判断。

我已经知道是什么时候变化的,但是又有什么用呢,你只能眼睁睁的看着它变,却束手无策。
何人怎么查?能不能指点一下。
我只能查到是sa用户改的。而且软件都是用的sa用户。还有用软件连的时候根本就看不到IP和主机名。
查这些东西好像没有什么意义。

作者: csqqx   发布时间: 2011-12-02

引用 5 楼 gandeng 的回复:
查看数据库日志文件试试

我用DBCC log (数据库名),根本就看不明白,内容太简单且没有表信息,sql语句信息,操作信息等。

作者: csqqx   发布时间: 2011-12-02

引用 3 楼 qianjin036a 的回复:
可以建一个监测表,当数据变化时,将触发器将尽可能多的信息写到这个表中。

监测哪一个表,监测这个变化的表有什么用,只能知道它是什么时候变化的。
监测其他表,表又太多,且不知道监测哪一个表。你不会要我每一个表都写个触发器吧。

作者: csqqx   发布时间: 2011-12-02