我有两个运行SQL Server标准2012的Windows Server 2012数据中心R2虚拟机。我在每个VM上安装了我的应用程序和数据库服务器。两个VM都驻留在同一个云服务中。
我还通过端口设置两个VM之间的负载平衡:80。现在,这是镜像数据库的问题。我尝试设置SQL Mirroring但到目前为止没有运气。我不确定这两个虚拟机是如何通过同一个端口5022相互通信的。
我也做了一些阅读,但我还不确定这样做的可行方法是什么。我现在肯定需要帮助。
问题: a)我是否需要设置虚拟网络才能镜像数据库? b)我可以镜像数据库驻留在同一个虚拟网络中吗? c)如果我的上述假设不正确,那么前进的最佳方法是什么?
提前致谢!!
更新:我设法在VM1中设置了主服务器以及镜像和放大器VM2中的见证服务器(如果您有资源将它们放在分离的VM中的最佳方式)。两个VM都驻留在同一个虚拟网络和相同的云服务中。
因此,当原则不可用时,Witness会自动将镜像设置为原理,并且它不再处于恢复状态。
如果您计划同时拥有证人和证人。镜像同一服务器中的SQL实例,确保使用不同的Witness服务器端口。 例如
- Principle : 5022
- Mirror : 5022
- Witness : 5023
答案 0 :(得分:2)
他们可以在同一个Cloud Service中,将它们放在同一个CS中会使生活更简单,因为不需要处理公共端点。事实上,云服务只是虚拟机和/或角色的容器,它们也与隐式创建的网络相关联(因此您需要一个端点从外部访问它)。
还建议将虚拟机置于同一可用性集中,在这种情况下,Azure将尝试不同时关闭所有虚拟机。
设置DBM的最简单方法是使用证书。您可以看到示例here。
注意:如果您需要自动故障转移,请不要忘记设置见证。
答案 1 :(得分:1)
为了让两个Azure VM进行通话,需要在同一个关联组中进行设置。
虚拟网络是一个专门的关联组,您可以在其中控制IP。
设置虚拟网络后,您可以毫无问题地为数据库设置复制。