如果 SQL Server 复制分发服务器和订阅服务器位于同一台服务器上,是否应使用 PUSH 还是 PULL 订阅?

如果 SQL Server 复制分发服务器和订阅服务器位于同一台服务器上,是否应使用 PUSH 还是 PULL 订阅?

在此先感谢您的帮助。

我正在设置新的 Microsoft SQL Server 复制,并且分发服务器和订阅服务器在同一台服务器上运行。发布服务器位于远程服务器上(因为它是生产数据库,并且 MS 建议对于大容量,分发服务器应位于远程服务器上)。

我不太了解 PUSH 订阅和 PULL 订阅的内部工作原理,但我的直觉告诉我 PUSH 订阅占用的资源较少,因为 (1) 分发服务器已经是远程的,所以这不会对发布服务器产生负面影响,并且 (2) 将事务从分发服务器推送到订阅服务器比订阅服务器轮询分发数据库更有效率。

是否有人有关于 PUSH 与 PULL 的资源或见解,可以推荐其中一种吗?性能/可靠性/安全性真的会有那么大的差异吗?

答案1

我个人会将其设置为推送,因为它更容易管理。

就本讨论而言,推送和拉取之间的区别在于分发代理的运行位置。对于推送,它在分发器上运行。对于拉取,它在订阅器上运行。

不过,由于这些在这里是相同的,所以没关系。但是,要设置请求订阅,您需要在配置复制时添加一个存储过程调用(即 sp_addpullsubscription)。

相关内容