我无法通过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/
)。
答案 0 :(得分:0)
您是否确认数据库镜像副本与Witness之间存在双向通信?确保他们可以互相ping通,并且他们正在双方的端点上进行监听(检查netstat)。确保VM位于同一VNET中。
答案 1 :(得分:0)
这两次发生在我身上,两次都是由于SQL Server和代理服务帐户造成的。当我将其更改为“域”帐户时,我可以一口气添加见证人。