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

时间:2014-02-06 00:55:39

标签: sql-server sql-server-2012

我已经阅读了很多关于如何在SQL Server 2012上配置镜像的文章。我完成了所有步骤,一切正常,直到最后一步,但没有用。

当我在校长上运行时:

  

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

我收到此错误:

  

服务器网络地址“TCP://1.2.3.4:5022”不能   达到或不存在。

当我运行上面显示的对应的ALTER语句,但是在镜像上,它工作正常。

我已尝试过此troubleshooting article中的所有步骤。

重点:

  1. 主服务器和镜像服务器位于不同的数据中心,根本不在同一网络上。没有通过VPN连接。完全不相信。
  2. 我可以通过主服务器上的SSMS连接镜像并运行查询。反之亦然。
  3. 我在每台服务器上配置了证书以建立信任关系。在设置和配置期间一切正常,没有错误。
  4. 我在两台服务器上配置了端点并验证它们是否处于活动状态/已启用。
  5. 我通过配置传入和传出的Windows防火墙规则在两台服务器上打开了端口5022。我可以从校长telnet到镜像,反之亦然 - 端口看起来是开放的,没有问题。
  6. 在上面提到的故障排除指南中,我尝试了步骤1-6。我没有尝试7,删除端点并重新创建,因为它们对我来说看起来非常有效和活跃。
  7. 寻找关于这一点的一些想法。

4 个答案:

答案 0 :(得分:0)

如果您可以从主机远程登录该端口,则TCP / IP和防火墙设置一切正常。

我记得我过去曾遇到过类似的问题。不幸的是,我不记得确切的解决方案,但它与端点的安全性/身份验证以及SQL Server服务帐户在镜像机上没有足够的权限有关。不幸的是,在这种情况下,错误消息非常容易引起误解。编写端点脚本并验证其设置,SSMS没有用户界面。 您可以检查的另一件事是您还可以从镜像连接到主机5022。如果两个实例都无法建立连接,您将收到相同的错误消息。

很抱歉,我无法为您提供正确的解决方案,但也许这可以指明您正确的方向。

答案 1 :(得分:0)

不幸的是,MS SQL中存在非常缺乏信息的错误消息。问题可能是授权问题,服务器仍然会说“无法访问网络地址”。

考虑“服务器位于不同的数据中心”,如何执行身份验证? MSSQL服务(在server1上)本身必须作为有效的db用户运行(在server2上,反之亦然),以使镜像工作。

答案 2 :(得分:0)

这可能有多种原因发生。

在SQL Server Management Studio中,如果在服务器实例名称旁边看到白色气泡而不是绿色气泡,则可以尝试以下操作:

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

答案 3 :(得分:-1)

它是否意味着是一个半结肠?

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

使用管理工作室时连接到IP /端口时使用半冒号。