Windows Azure VM之间的数据库镜像

时间:2014-05-23 16:26:46

标签: sql-server azure load-balancing database-mirroring

我有两个运行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

2 个答案:

答案 0 :(得分:2)

他们可以在同一个Cloud Service中,将它们放在同一个CS中会使生活更简单,因为不需要处理公共端点。事实上,云服务只是虚拟机和/或角色的容器,它们也与隐式创建的网络相关联(因此您需要一个端点从外部访问它)。

还建议将虚拟机置于同一可用性集中,在这种情况下,Azure将尝试不同时关闭所有虚拟机。

设置DBM的最简单方法是使用证书。您可以看到示例here

注意:如果您需要自动故障转移,请不要忘记设置见证。

答案 1 :(得分:1)

为了让两个Azure VM进行通话,需要在同一个关联组中进行设置。

虚拟网络是一个专门的关联组,您可以在其中控制IP。

设置虚拟网络后,您可以毫无问题地为数据库设置复制。