订阅服务器的防火墙处于打开状态时复制失败

时间:2017-05-11 20:08:23

标签: sql-server-2008 tcp windows-firewall transactional-replication

当用户的公共防火墙打开时,我们的SQL Server 2008 PUBLISHER(Windows Server 2008 Standard SP2 64位)无法复制到我们的SQL Server 2008 SUBSCRIBER(Windows Server 2008R2 SP1 64位);但是,当防火墙关闭时,复制会立即生效。带有分发服务器的事务复制(推送订阅)在订户的防火墙关闭的情况下运行了三年。我们现在需要打开防火墙。

这两台计算机位于同一个LAN(相同的物理机架)中,并且在Windows更新中是最新的。订户的TCP端口(80,443,1433,1434,21,135,139,445)和UDP端口(137,138,1434)被允许为“任何”。我已禁用TCP烟囱卸载,并且订阅服务器上的Boost SQL Server优先级已关闭。

以下是我无法复制时从PUBLISHER的复制日志中获得的内容:

Command attempted:
if @@trancount > 0 rollback tran
(Transaction sequence number: 0x00001E920000B5EB000100000000, Command ID: 1)

Error messages:
TCP Provider: The semaphore timeout period has expired. (Source: MSSQLServer, Error number: 0)
Get help: http://help/0
TCP Provider: The semaphore timeout period has expired. (Source: MSSQLServer, Error number: 121)
Get help: http://help/121
Communication link failure (Source: MSSQLServer, Error number: 121)
Get help: http://help/121
Communication link failure (Source: MSSQLServer, Error number: 08S01)
Get help: http://help/08S01

我错过了什么?我该如何解决这个问题? :■

1 个答案:

答案 0 :(得分:0)

我解决了这个问题!我写信是为了分享我的解决方案,希望它能帮到某人。

我需要做的就是保留空(或者如果有值,则为空白)属性TCP动态端口,同时在订阅服务器上保留TCP端口1433。

即,在Subscriber上,转到SQL Server配置管理器> TCP / IP> IP地址> IP全部并执行更改。执行此更改后,我在SQL Server服务上重新启动(在订阅服务器上):SQL Server,SQL Server浏览器,SQL Server代理,SQL Server Reporting Services。