我们计划在 SQL Server 2008 R2 的 2 个节点上创建事务复制,每个节点将是发布者和订阅者。
为了完成这个场景,最佳实践是什么?Microsoft 始终建议分发者应该独立于发布者或订阅者,因此很明显第 3 个节点将参与该场景。但是,由于每个节点将同时是发布者和订阅者,同一(第 3 个节点)可以成为 2 个发布者的分发者吗?我应该创建 2 个分发者,还是仍然可以在同一个架构上,只使用 2 个节点,每个节点都充当分发者和发布者?
我们计划在 SQL Server 2008 R2 的 2 个节点上创建事务复制,每个节点将是发布者和订阅者。
为了完成这个场景,最佳实践是什么?Microsoft 始终建议分发者应该独立于发布者或订阅者,因此很明显第 3 个节点将参与该场景。但是,由于每个节点将同时是发布者和订阅者,同一(第 3 个节点)可以成为 2 个发布者的分发者吗?我应该创建 2 个分发者,还是仍然可以在同一个架构上,只使用 2 个节点,每个节点都充当分发者和发布者?
为了完成这个场景,最佳实践是什么?
这取决于您要复制的数据量,即
我已经实现了 T-Rep,其中我使用了与发布者和分发者相同的服务器,因为需要复制的数据较少,并且还在单独的服务器上实现了单独的分发数据库,该服务器完成了将数据发布到订阅者的所有繁重工作我们有大量数据可以推送给订阅者。
您必须考虑以下因素 -
我应该创建 2 个分销商吗? 您可以使用相同的分发数据库。不过,为了便于维护和更好的性能 [减少争用 - 写入和读取分发数据库],我强烈建议您使用单独的分发数据库。
请记住,分发数据库是复制的核心。所以它需要适当的维护、备份等。现在,如果您只有一个支持多个发布者的分发数据库并且发生了灾难,那么从以前的备份中恢复它会影响所有发布者。
来自BOL:
最后一些很好的参考资料可以帮助你:
深入了解从备份进行事务复制的初始化
复制非聚集索引可提高订阅者查询性能
遵循事务复制中的数据 - 白皮书
事务复制疑难解答
横向扩展分发数据库
这实际上取决于您的开销以及您可以如何管理它。如果您不在一个超级繁忙的系统上,那么您应该没问题,但在设置之前保持基线并比较之后的结果以查看影响是什么。
复制的权威之一希拉里·科特(Hilary Cotter)告诉我,不要担心有 5 个出版商使用一个发行商,之后要小心。
如果您的两个链接跨越高延迟或 WAN,我强烈推荐这篇文章。 如果您的分发器与订阅者位于同一侧,那么它会介绍日志读取器/日志写入器命令缓冲区如何降低您的速度以及如何降低速度。