【问题标题】:Trouble setting up witness in SQL Server mirroring scheme w/ error在 SQL Server 镜像方案中设置见证时出现错误
【发布时间】:2009-03-27 18:44:19
【问题描述】:

我有三个不属于任何域且不使用 AD 的 Windows 服务器(data1、data2 和 datawitness)。我正在尝试根据http://alan328.com/SQL2005_Database_Mirroring_Tutorial.aspx 的说明设置镜像。在我告诉 data1 使用 datawitness 作为见证服务器的最后一组指令之前,我已经取得了成功。该步骤失败并显示以下消息:

alter database MyDatabase set witness = 'TCP://datawitness.somedomain.com:7024'

无法将 ALTER DATABASE 命令发送到远程服务器实例“TCP://datawitness.somedomain.com:7024”。数据库镜像配置未更改。验证服务器是否已连接,然后重试。

我已经使用 telnet 测试了 7024 和 1433 端口,两台服务器确实可以相互连接。我还可以从主服务器上的 SQL Server 管理器添加到见证服务器的连接。我已经在两台服务器上使用配置管理器来启用命名管道并验证 IP 流量是否已启用并默认使用端口 1433。

还能是什么?我是否需要打开任何其他端口才能使其正常工作? (防火墙规则非常严格,但我知道前面提到的端口上的流量是明确允许的)

这里值得一提的注意事项:

  • 每台服务器在不同的网段

  • 服务器不使用 AD 并且不属于域

  • 没有为这些服务器配置 DNS 服务器,因此我使用 HOSTS 文件将域名映射到 IP 地址(使用 telnet、ping 等验证)。

  • 防火墙规则非常严格,我无法直接调整它们,但如果需要我可以调用更改

  • Data1 和 Data2 使用 SQL Server 2008,Datawitness 使用 SQL Express 2005。它们都使用默认实例(即它们都不是命名实例)

【问题讨论】:

    标签: sql-server-2008 certificate sql-server-2005-express mirroring


    【解决方案1】:

    在梳理了博客和知识库文章和论坛帖子以及重新安装重新配置重新启动和分析等等之后,我终于找到了谜题的关键 - 见证服务器上的事件日志中的条目报告了这个错误:

    Database mirroring connection error 2 'DNS lookup failed with error: '11001(No such host is known.)'.' for 'TCP://ABC-WEB01:7024'.
    

    我使用了一个 hosts 文件以 datax.mydomain.com 的形式为所有三台服务器映射了模拟域名。但是,现在很明显,见证人试图使用主服务器的名称进行通信,而我没有主机条目。只需为指向主 Web 服务器的 ABC-WEB01 添加另一个条目就可以了。没有错误,镜像终于完成了。

    希望这可以为其他人节省十亿小时。

    【讨论】:

    • 嫁给我.....这似乎对我们有用,虽然目前数据库镜像监视器说镜像和见证彼此断开但我现在开始调查.
    【解决方案2】:

    我想为这个特定问题再添加一个子答案,正如我对 Chris 答案的评论所示,我的镜子显示为断开连接(对证人)显然你需要重新启动(或者在我的情况下,我刚刚重新启动服务)见证服务器。

    我这样做后,镜像显示见证人连接已连接!

    见:http://www.bigresource.com/Tracker/Track-ms_sql-cBsxsUSH/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-09
      • 2016-09-03
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多