当前位置:  开发笔记 > 数据库 > 正文

无法在SQL Server镜像方案中设置见证错误

如何解决《无法在SQLServer镜像方案中设置见证错误》经验,为你挑选了1个好方法。

我有三个Windows服务器(data1,data2和datawitness)不属于任何域,不使用AD.我正在尝试根据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 Manager添加到见证服务器的连接.我已经在两台服务器上使用配置管理器来启用命名管道并验证IP流量是否已启用并默认使用端口1433.

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

值得一提的注意事项:

每个服务器都在不同的网段中

服务器不使用AD,也不属于域

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

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

Data1和Data2使用SQL Server 2008,Datawitness使用SQL Express 2005.所有这些都使用默认实例(即它们都不是命名实例)

Chris Bloom.. 8

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

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的另一个条目就可以了.没有错误,镜像终于完成了.

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



1> Chris Bloom..:

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

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的另一个条目就可以了.没有错误,镜像终于完成了.

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

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有