SQL Server 镜像-服务器网络地址无法访问或不存在

yqhsw0fo  于 2022-11-28  发布在  其他
关注(0)|答案(4)|浏览(283)

我读过很多关于如何在SQL Server 2012上配置镜像的文章。我经历了各个步骤,一切都很顺利,直到最后一步失败。
当我在主体上运行此程序时:
'TCP://1.2.3.4:5022';请检查您的数据库名称是否正确。
我得到这个错误:
服务器网络地址“TCP://1.2.3.4:5022”无法访问或不存在。
当我运行上面所示的对应ALTER语句时,它在Mirror上运行得很好。
我已经尝试了此troubleshooting article中的所有步骤。
要点:
1.主服务器和镜像服务器位于不同的数据中心,根本不在同一网络上。未通过VPN连接。彼此完全不信任。
1.我可以通过主节点上的SSMS连接到镜像节点并运行查询。反之亦然。
1.我在每个服务器上配置了证书来建立信任关系。在安装和配置过程中一切正常,没有错误。
1.我在两台服务器上配置了端点,并验证了它们处于活动/启用状态。
1.我通过配置传入和传出Windows防火墙规则打开了两台服务器上的端口5022。我可以从主体telnet到镜像,反之亦然-端口显示为打开,没有问题。
1.在上面提到的故障排除指南中,我尝试了步骤1-6。我没有尝试步骤7,删除端点并重新创建,因为它们在我看来完全有效和活跃。
我在找这方面的点子。

ujv3wf0j

ujv3wf0j1#

如果可以从主体计算机telnet该端口,则TCP/IP和防火墙设置一切正常。
我记得我过去也遇到过类似的问题。不幸的是,我不记得确切的解决方案,但它与端点的安全/身份验证和SQL Server服务帐户在镜像计算机上没有足够的权限有关。不幸的是,在这种情况下,错误消息具有很大的误导性。编写端点脚本并验证其设置,SSMS没有用于此操作的UI。您可以检查的另一件事是,您是否也可以从镜像连接到主体计算机的端口5022。如果无法从两个示例连接,您将收到相同的错误消息。
很抱歉,我不能提供你一个适当的解决方案,但也许这为你指明了正确的方向。

ia2d9nvy

ia2d9nvy2#

不幸的是,在MS SQL中有相当非信息性的错误消息。问题可能是授权问题,服务器仍然会说“网络地址无法到达”。
考虑到“服务器位于不同的数据中心”,如何执行身份验证?MSSQL服务(在服务器1上)本身必须作为有效的数据库用户(在服务器2上,反之亦然)运行,以便镜像工作。

byqmnocz

byqmnocz3#

发生这种情况可能有多种原因。
在SQL Server Management Studio中,如果在服务器示例名称旁边看到白色气泡,而不是绿色气泡,则可以尝试执行以下操作:

  • “允许应用程序通过防火墙”并为Windows Server 2012添加“Windows Management Instrumentation(WMI)”。如果是Windows Server 2008,则可以允许“远程管理”通过防火墙。
mspsb9vt

mspsb9vt4#

是不是应该是分号?

ALTER DATABASE MyDBName SET PARTNER = 'TCP://1.2.3.4;5022'

使用Management Studio连接到IP /端口时使用分号。

相关问题