数据库镜像:无法使用Azure在Microsoft SQL Server 2014中设置见证

时间:2015-12-17 16:48:12

标签: sql-server azure azure-sql-database sql-server-2014 mirroring

我无法通过Microsoft SQL Server 2014连接到见证服务器进行数据库镜像。我正在使用Azure。我研究的所有内容似乎都指向了这篇文章https://support.microsoft.com/en-us/kb/940254。但我似乎无法正确设置DNS设置,或者弄清楚如何设置主机文件,如果这甚至是修复。

我主要关注本指南:https://msdn.microsoft.com/en-us/library/ms186384.aspx,了解有关设置数据库镜像的步骤。 以下是我的方案的简要总结。

主要服务器

  • 云端服务: MP

  • VM: MP(Windows Server 2012 R2 Datacenter)

镜像和证人服务器

  • Cloud Service: MF

  • VM镜像: MF(Windows Server 2012 R2 Datacenter)

  • VM见证: MW(Windows Server 2012 R2 Datacenter)

尝试运行SQL命令时出现此错误:

ALTER DATABASE database SET WITNESS = 'TCP://MF.cloudapp.net:5023';

  

Msg 1456,Level 16,State 3,Line 1

     

无法将ALTER DATABASE命令发送到远程服务器   实例' TCP://MF.cloudapp.net:5023'。数据库镜像   配置没有改变。验证服务器是否已连接,   然后再试一次。

我已在防火墙上打开特定端口以允许连接,并在Azure门户上设置了端点。我们非常感谢您提供的任何帮助。

与此同时,我将尝试为见证服务器提供自己的云服务,因此终点将全部相同(在此页面上提到:http://go4answers.webhost4life.com/Example/trouble-setting-witness-182317.aspx)。我还将尝试在一个云服务上设置所有3个虚拟机,然后将它们添加到可用性集(在此页面上提到:https://cuteprogramming.wordpress.com/2014/10/16/database-mirroring-in-azure/)。

2 个答案:

答案 0 :(得分:0)

您是否确认数据库镜像副本与Witness之间存在双向通信?确保他们可以互相ping通,并且他们正在双方的端点上进行监听(检查netstat)。确保VM位于同一VNET中。

答案 1 :(得分:0)

这两次发生在我身上,两次都是由于SQL Server和代理服务帐户造成的。当我将其更改为“域”帐户时,我可以一口气添加见证人。