3

我已经使用 SQL Server 2008 和 Windows Server 2008 R2 64 位成功配置了主体和镜像。但是,当我尝试向(SQL Server 2005 and Windows Server 2003 32bit)混合中添加见证时,我在主节点的事件日志中收到以下错误:

 EventID 1456 "The ALTER DATABASE command could not be sent to the remote 
     server instance 'TCP://SERVERNAME.DOMAIN:5022'. The database mirroring 
     configuration was not changed. Verify that the server is connected,
     and try again." and EventID 1474 "Database mirroring connection error 
      4 'An error occurred while receiving data: '64(The specified network name is 
      no longer available.)'.' for 'TCP://SERVERNAME.DOMAIN:5022'."

我可以通过 netstat 和 SQL Profiler 在端口 5022 上看到临时建立的连接,然后出现这些错误。

有谁知道为什么会这样?

4

4 回答 4

2

我有完全相同的问题。2 服务器 2008 64 位盒,带有 2005 见证。与原始海报有相同的错误消息。也检查了所有相同的设置,这就是所有谷歌搜索都会指向的内容。

最后,通过转移到运行 SQL 2008 的见证人来解决这个问题。两天的挫败感。

仅供参考 - 这是微软关于见证服务器的声明。我想你可以读到你想要的东西:

软件和硬件建议

我们强烈建议见证人驻留在与合作伙伴不同的计算机上。只有 SQL Server 2005 Standard 和更高版本以及 SQL Server 2005 Enterprise Edition 和更高版本支持数据库镜像合作伙伴。相反,SQL Server 2005 Workgroup 和更高版本以及 SQL Server 2005 Express Edition 和更高版本也支持见证。见证可以在任何支持这些 SQL Server 版本的可靠计算机系统上运行。但是,我们建议用作见证的每个服务器实例都对应于您正在运行的 SQL Server Standard 版本所需的最低配置。有关这些要求的详细信息,请参阅安装 SQL Server 2008 R2 的硬件和软件要求。”

于 2011-04-15T22:03:23.640 回答
1

根据 Microsoft SQL Server 2008 圣经原则,镜像服务器和见证服务器都必须具有相同的 SQL Server 版本(2005 与 2008)。原则和镜像也必须具有该版本的相同版本(企业版与标准版)。因此,见证可以是任何版本(express、std、ent、workgroup...),但也必须是相同的版本。

于 2012-02-02T16:27:14.303 回答
1

您的合作伙伴名称是否与镜像的 FQDN 完全匹配?您描述的行为可能发生在镜像(或相关负责人GetComputerNameEx)以不同于ALTER DATABASE ... SET PARTNER = 'tcp://partnername:...';. 考虑这种情况:

  • 主体使用Foo镜像的名称。Foo通过hosts文件解析到镜像的正确IP
  • 镜子知道自己是Bar
  • 当添加见证人时,委托人会说“你的身份是什么Foo,你看到他了吗?”。镜子会向目击者报告“你好,我是Bar”。因此,见证人将向校长报告“我不知道在哪里Foo”,这最终可能会中断镜像会话。

还有更多细节和细微差别。故事的要点是:在设置镜像时,始终使用通过 DNS 正确解析的 FQDN 名称。

于 2010-09-21T22:59:56.673 回答
0

我有同样的问题。我在适配器上禁用了 IP V6,并且能够正常连接到见证服务器。

于 2011-02-08T16:54:34.790 回答