如何记录sqlserver数据库中数据的变化?数据量大,任何方式都可

Bmonkey 2013-06-08 09:52:14
数据库较大,但是想在某一段时间内记录整个数据库的数据变化情况
请问有什么方法可以采用??
越高效越好
...全文
299 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bmonkey 2013-06-27
  • 打赏
  • 举报
回复
谢谢楼上各位
Q315054403 2013-06-10
  • 打赏
  • 举报
回复
Profiler or Trigger亦可
铁歌 2013-06-09
  • 打赏
  • 举报
回复
1. 数据库审计、 2. 如果想监控DDL的变化可以建立DDL的触发器记录变化 3、 通过第三方产品,例如Lumigent的Log Explorer。 4、 数据库更新监控(Change data capture ,CDC) 通过对事务日志的异步读取,记录DML操作的发生时间、类型和实际影响的数据变化,然后将这些数据记录到启用CDC时自动建立的表中。通过cdc有关的存储流程,可以获取细致的数据变化情况。由于数据变化是异步读取的,因此对整体性能的影响不大,远小于通过Trigger实现的数据变化记录。http://www.hack59.com/edu/shujuku/mssql/2009093021185426.html
KevinLiu 2013-06-09
  • 打赏
  • 举报
回复
CDC,snapshot
大力水手 2013-06-09
  • 打赏
  • 举报
回复
高效的几乎没有,开trace,审计,snapshot都会很消耗资源。不过如果更新比较快比较多的话。snapshot应该会刚开始的时候消耗。等所有的页的某一条都修改一遍的时候开销就停止了。开始就相当于双倍或更多的IO开销。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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