如何跟踪数据变化

myblind 2011-11-22 09:02:39
数据库里有20多个表,不知道这些表在什么时候会被更改。
用Profiler跟踪SQL语句,insert, update, delete语句能跟踪到。但是如果存储过程内部修改了表,就跟不到了。
有什么办法能知道是什么语句,或者是什么表的数据被更新了吗?
...全文
262 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengxuan 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 roy_88 的回复:]
SQL2005用触发器跟踪吧,如果是修改表
[/Quote]
那要每个表都要写触发器,触发器里写日志吧
beginner84 2011-11-23
  • 打赏
  • 举报
回复
在Profiler里把SP:StmtCompleted事件勾选上,就可以看到存储过程中的每一句语句的执行记录了。
dawugui 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 myblind 的回复:]
数据库里有20多个表,不知道这些表在什么时候会被更改。
用Profiler跟踪SQL语句,insert, update, delete语句能跟踪到。但是如果存储过程内部修改了表,就跟不到了。
有什么办法能知道是什么语句,或者是什么表的数据被更新了吗?
[/Quote]
1.可查询日志,去看看数据的变化情况.
2.设置一个字段,每次数据更新,则增加一条记录.类似企业数据的变更一样.
3.不过,如果是更改表结构,则很难查询到.
中国风 2011-11-22
  • 打赏
  • 举报
回复
参照DDL 触发器,指定事件写入日志表(用一个日志表记录)
http://topic.csdn.net/u/20111122/21/3dfe7a8c-987a-423b-8471-0b6c9df5bd09.html?seed=356995365&r=76614720#r_76614720
-晴天 2011-11-22
  • 打赏
  • 举报
回复
也可以跟踪表结构更改的.
中国风 2011-11-22
  • 打赏
  • 举报
回复
SQL2005用触发器跟踪吧,如果是修改表
--小F-- 2011-11-22
  • 打赏
  • 举报
回复
如果是SQL 2005一下 可以用LOG EXPLORE查看日志。

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧