1

我有一个远程数据库,我想在接下来的几个小时内记录所有更改(更新和插入)。如有必要,我也喜欢还原所有更改。请注意,所有更改都可能来自多个用户/应用程序。

db 相当小(几 GB),更新次数也应该很小(< 1000)。

我将如何使用 SQL Server 2008 R2 做到这一点?

如果您需要更多信息,请与我们联系。

谢谢,克里斯蒂安

4

1 回答 1

1

有很多选择,具体取决于您的确切需求和可用的资源:

  • 当数据库处于“之前”状态时进行完整备份。使用数据比较工具来确定发生了什么变化。

  • 创建数据库快照(仅限企业版引擎)。这将让您始终查看之前的状态,并且您可以手动合并/回滚/所做的任何更改,或恢复到与恢复基本相同的快照。使用数据比较工具来确定发生了什么变化。

  • 使用变更数据捕获 (CDC)(仅限企业版引擎)。这将捕获对启用它的表所做的所有更改。这是一种非常精细的方法。结合备份或快照进行回滚。

  • 在所有可能受到影响的表上设置触发器,并引导数据更改您自己创建的跟踪表。结合备份或快照进行回滚。

于 2013-01-03T22:52:47.737 回答