我正在为SQL Server Merge Replication设置Web同步。我的IIS框在我的DMZ中,而SQL Server机器在防火墙后面,因此我需要指定一个非默认端口(而不是1433)才能到达发布者和分发者。我尝试过将其设置为192.168.4.5_1234,类似于192.168.4.5:1234,其中192.168.4.5是我的防火墙IP,1234是端口号(好吧,我还是给出了示例)。
带冒号的那个完全爆炸,我相当肯定Windows端口规范的不良形式 - 我只是想表明我已经尝试过了。另一个给出了这个:
replmerg -Publisher [192.168.4.5_1234] -PublisherDB [MyDB] -Publication [MyPub] -Subscriber [ME] -SubscriberDB [MyPub] -SubscriptionType 2 -SubscriberSecurityMode 1 -Distributor [192.168.4.5_1234]
...
消息:进程无法连接到分发服务器 ' 192.168.4.5_1234&#39 ;. 2017-10-25 21:53:27.892类别:SQLSERVER来源: 192.168.4.5_1234编号:53消息:命名管道提供程序:无法打开与SQL Server的连接[53]。 2017-10-25 21:53:27.894 分类:SQLSERVER资料来源:192.168.4.5_1234编号:53留言:A 发生了与网络相关或特定于实例的错误 建立与SQL Server的连接。找不到服务器 无障碍。检查实例名称是否正确以及SQL Server是否正确 配置为允许远程连接。有关更多信息,请参阅SQL 服务器书籍在线。 2017-10-25 21:53:27.895类别:SQLSERVER 来源:192.168.4.5_1234数量:0消息:登录超时已过期 2017-10-25 21:53:27.896类别:SQLSERVER资料来源:192.168.4.5_1234 编号:0消息:合并过程无法执行查询 因为查询超时了。如果此故障继续,请增加 该进程的查询超时。排除故障时,重新启动 与详细历史记录日志同步并指定输出 要写的文件。
为什么它尝试使用命名管道超出我的范围,TCP / IP列在我的客户端协议中的命名管道上面。
我注意到在微软的文档中,它甚至没有告诉你如何做到这一点......他们只是说它会"通常"使用默认端口。这甚至可能吗?有没有人得到这个工作?
https://technet.microsoft.com/en-us/library/ms151255(v=sql.105).aspx
答案 0 :(得分:1)
只需使用",":
192.168.4.5,1234