我有两个Server实例运行在Windows Server上,Server集群具有两个具有共享存储的节点( Active,Active type)。
运行的Server版本是Server 2012企业版。
我们能在这上面实现AlwaysOn吗?那么,它的复杂性和步骤是可行的吗?
发布于 2020-06-02 07:27:32
是也不是。您不能以这样的方式配置它,即每个服务器都承载一个数据库副本。它们共享相同的存储,因此这是合乎逻辑的。您有Server群集或在2之间配置AlwaysOn。但是,您可以在Server故障转移群集实例(FCI)上承载AlwaysOn副本。在这种情况下,您需要一个或多个其他SQL服务器来承载同步或同步副本。下面的图片可能说明了这一点(不确定是从哪里得到的,它是从我自己的库获得的):
请注意两者之间的区别: Server故障转移群集使用在主动/被动配置中使用2台服务器的Server实例。AlwaysOn节点在单个实例上承载一个数据库或一组数据库。
以下是一些可能有用的链接:
https://blog.papercut.com/the-ultimate-guide-to-high-availability-methods-for-microsoft-sql-server/
https://www.brentozar.com/archive/2012/02/introduction-sql-server-clusters/
这是您目前的配置吗?

如果是这样,那么您可以创建如下所示的设置。您可以看到,有一个额外的Server节点有一个实例,它为可用性组的每个数据库托管一个同步副本(其中,DR安装程序中常见的是一个同步副本)。您可以在技术上使用同步副本,但是您不会在DR场景中使用同步副本。同步副本严重依赖延迟,因此适合于高可用性场景。为了您的理解,请将AlwaysOn层看作是一个独立的东西。在单个服务器实例或故障转移群集实例上配置AlwaysOn组没有区别。AlwaysOn是在数据库级别配置的。

请注意,您需要在此配置中购买额外的许可证。然而,最近SA客户的许可发生了变化,这将使其免费:
此外,不要忘记查看如何设置维护脚本,并且实例级配置不会复制到另一台服务器。如果需要保持同步,那么每次更改时都需要编写脚本或手动更新。
我找到了一个简单的设置指南,供您配置AlwaysOn组:
https://www.sqlservercentral.com/blogs/alwayson-availability-groups-step-by-step-setup
还要注意,混合2种不同的技术(故障转移、集群实例和AlwaysOn)会使事情变得更加复杂。当您只有一种技术时,疑难解答就更复杂了。您可以使用AlwaysOn设置类似的HA/ DR安装程序,如下所示。只需注意,您需要的存储空间是存储空间的两倍(集群设置不需要这样的空间),并且可能会有更多的延迟(因为您需要等待同步副本的提交):

有很多事情你需要做决定,因为所有的技术都有各自的优缺点。了解这些信息的唯一选择是阅读这些信息,但我认为你从所有这些信息中得到了一个相当好的开端。
哦,你可能想早点删除你的答案。我看到你在评论中也设置了它,所以它是双倍的。
https://dba.stackexchange.com/questions/268338
复制相似问题