1

最近,我不得不实现事务复制,以便在另一台服务器上拥有该数据库的实时副本以用于报告目的。在配置复制时,我意识到很多表没有主键,所以我无法发布我想要的所有表。

第二个选项是实现合并复制,但这会在所有表中添加一个 GUID 列。由于它是供应商应用程序的数据库,供应商警告我们不要“接触”数据库结构,因为数据库结构的任何更改都可能导致他们的应用程序中断。所以合并复制不再是一种选择。

在这种情况下,我一直在对其他可用选项进行一些研究;我唯一能找到的是日志运输。我知道它将使我的数据库处于只读模式,但是(据我所知)因为这是我剩下的唯一选择,并且它将严格用于报告目的,我认为我可以忍受这个。

谁能为此提出更好的解决方案?还是 Log Shipping 是我唯一的选择?

它是 SQL Server 2008 R2 64 位数据中心版。

4

1 回答 1

2

您的其他选择是:

  1. 数据库镜像,并使用快照进行只读操作。管理快照可能很痛苦。

  2. 升级到 SQL Server 2012,并利用可用性组中的可读辅助节点。这可能是钱包的痛苦。

您提到了日志传送,但是,根据您的后续评论,我认为不清楚的是,每次将日志恢复到日志传送副本时,您都需要踢出所有可能正在运行报告的用户。这是因为您需要独占访问数据库才能恢复日志。这是“一分钱一分货”的另一种情况——如果您愿意(并且如果您的数据库支持它),您可以将船舶记录到 Express 实例,但这并不是一个完全可靠的解决方案。

于 2013-11-27T02:44:18.070 回答