在 SQL Server 2022 中配置 AlwaysOn 可用性组
高可用性是指系统或基础设施在较长时间内保持运行和可访问的能力,通常以正常运行时间的百分比来衡量。它确保关键服务或应用程序始终可供用户使用,而不会因硬件或软件故障、计划维护或其他不可预见的事件而造成重大中断。
高可用性对于企业来说非常重要,因为它可以确保不间断运营、防止收入损失并保持客户满意度。它可以降低财务风险,保护声誉,并帮助企业保持竞争优势。通过结合冗余和容错机制,高可用性系统提高了整体可靠性。冗余组件和负载平衡技术在资源之间分配工作负载,即使在高峰使用期间也能确保可扩展性和最佳性能。
数据库是现代应用程序的重要组成部分,在存储、管理和检索数据方面发挥着至关重要的作用。它们是各种关键业务系统的支柱,包括客户关系管理 (CRM)、企业资源规划 (ERP)、电子商务、财务应用程序等。数据库的重要性在于它们能够提供一致、可靠和安全的数据访问。
AlwaysOn 可用性组是 Microsoft SQL Server 中引入的一项高可用性和灾难恢复功能。它提供了数据库镜像和故障转移集群的解决方案,允许您创建一组可以作为单个单元进行故障转移的数据库。
在高可用性的背景下,AlwaysOn 可用性组为 SQL 数据库提供以下优势:
- 增加正常运行时间:通过配置多个数据库副本,AlwaysOn 可用性组可确保您的数据库即使在发生故障时也保持可用。如果主副本不可用,辅助副本之一可以自动升级为新的主副本,从而最大限度地减少停机时间。
- 冗余和容错:AlwaysOn 可用性组通过跨多个副本维护数据库的同步副本来提供数据库冗余。这些副本可以托管在不同的服务器上,从而提高容错能力并防止硬件或软件故障。
- 负载平衡和只读路由:您可以在可用性组内配置只读副本,从而能够从主副本卸载读取工作负载。这种负载平衡功能通过将读取操作分布到多个副本来提高性能。
- 灾难恢复:通过在不同地理位置配置副本,AlwaysOn 可用性组可用于灾难恢复目的。这允许在发生灾难或计划维护时自动或手动故障转移到辅助副本,从而确保业务连续性。
- 可扩展性和性能:随着数据量和用户需求的不断增加,数据库需要有效地扩展和处理更大的工作负载。 AlwaysOn 可用性组能够在多个只读副本之间分配读取工作负载,从而实现负载平衡并提高性能。这种可扩展性功能确保数据库可以在不牺牲响应能力的情况下处理不断增长的需求。
本部分提供有关在 SQL Server 2022 实例中部署 Always On 可用性组的综合指南。它涵盖了实现此高可用性功能的必要步骤和过程。
先决条件
对于本指南,您需要配置 Windows Server 2022 故障转移群集 (WSFC)。这可以通过遵循此处提供的帮助来完成。
- 如何配置 Windows Server 2022 故障转移群集 (WSFC)
对于我的设置,我使用了 3 台服务器,配置如下:
| TASK | IP ADDRESS | HOSTNAME |
| iSCSI Target/AD DS/DNS Server | 192.168.200.55 | win-server.computingforgeeks.com |
| Cluster Node1 | 192.168.200.70 | node1.computingforgeeks.com |
| Cluster Node2 | 192.168.200.71 | node2.computingforgeeks.com |
您还需要安装独立安装的 SQL Server 2022 并远程身份验证启用(能够使用 AD 用户登录)。这可以通过遵循以下指南来完成:
- 在 Windows Server 2022 上安装和配置 SQL Server 2022
满足先决条件后,继续按照以下步骤在 SQL Server 2022 中配置 AlwaysOn 可用性组。
#1.将 SQL 2022 实例添加到故障转移集群
首先,在所有节点上打开SQL Server 2022配置管理器,选择SQL Server服务->SQL Server(实例名称),右键单击并选择属性。
导航至Alwayson 可用性组选项卡并选中复选框以启用这些功能。然后重新启动 SQL 服务器
接下来,我们需要创建一个文件夹用于AlwaysOn可用性组数据库的备份,并为SQL Server登录用户添加完全访问权限。
创建具有所需权限的数据目录。
在C盘创建一个备份目录,名称为AlwaysonDB-Backup
还需要允许数据库镜像服务端口通过防火墙。在入站端口下启动 Windows Defender,然后添加新规则。
添加端口5022/TCP,如图所示。
提供规则名称并创建它。
#2.创建AlwaysOn数据库
现在,在选定的主节点上,您需要完成以下步骤。首先,访问 SQL Server Management Studio (SSMS) 并为 AlwaysOn 可用性组创建数据库。请记住指定在步骤 1 中创建的数据库路径。
创建数据库后,右键单击该数据库并按照所示操作进行备份。
继续并删除可用的默认备份路径,以便我们指定所需的路径。
将创建的 Path 设置为备份目录,并提供备份的名称。
完成后,您将看到以下内容:
#3。在 SQL Server 2022 中创建可用性组
使用 SQL Server Management Studio (SSMS) 访问主节点上的数据库,并将域用户/用户设置为 SQL Server 的管理员帐户。
右键单击Always On High Availability->可用性组,启动新建可用性组向导
点击下一步继续
提供您要创建的可用性组的名称:
选择我们之前为Alwayson可用性组创建的数据库。
通过单击添加副本按钮指定副本。
添加所有副本后,您将看到这一点。
现在进入侦听器选项卡,在“侦听器 DNS 名称”字段中为侦听器提供首选名称,提供侦听端口并为侦听器设置静态 IP 地址,如下所示:
设置首选的数据同步方法。默认选择是自动播种,这仍然可以。
验证所做的配置。如果一切正常,请继续。
将提供所做设置的摘要
完成后,您将能够通过选择显示仪表板来查看可用性组的状态,如下所示:
您还可以通过使用 sqlcmd 连接到侦听器来验证访问权限,如下所示:
sqlcmd -S listener01 -Q "select @@servername"
##OR
sqlcmd -S 192.168.200.75 -Q "select @@servername"示例输出:
#4。在 SQL Server 2022 上配置故障转移群集
在 SQL Server 2022 上配置故障转移群集涉及在所有节点上运行服务器故障转移群集安装。对于本指南,我们将分为两个阶段。
A。在主节点上的 SQL Server 2022 上配置故障转移群集
完成上述配置 WSFC、安装 SQL Server 2022 以及创建用于远程身份验证的用户的所有步骤后,我们进入了另一个阶段。
在这里,我们将在选定的主节点上运行 SQL Server 安装程序,并选择新 SQL Server 故障转移群集安装选项。
确保您通过此验证。如果您遇到 Microsoft 集群服务(MCS) 问题,您所需要做的就是通过验证集群来获得一份好的报告(您可以绕过在集群期间导致错误的服务)验证)。如果一切顺利,您将看到以下内容:
选择要安装的功能,如图所示:
配置SQL Server 网络名称。
设置集群资源组。
选择 SQL Server 数据库的集群磁盘。您可以在此处选择集群的共享存储集。
设置集群网络并为 SQL Server 故障转移集群实例提供可用的 IP
配置服务帐户,并设置 SQL Server 数据库引擎和 SQL Server 代理服务的管理员用户
继续执行其余步骤,就像我们对独立安装所做的那样。
b.在辅助节点上的 SQL Server 2022 上配置故障转移群集
在辅助节点上,我们还需要安装 SQL Server 故障转移集群实例。运行 SQL Server 安装程序并选择将节点添加到 SQL Server 故障转移群集选项
执行系统检查:
提供集群的节点设置,如图所示。应该会自动检测到集群,如图所示。
配置集群网络,应该检测到可用的集群。
接下来,配置服务帐户。将检测主节点上设置的服务,因此请提供密码。
现在继续执行与独立安装类似的步骤。
完成后,该角色现在将在 WSFC 管理中可用,如下所示:
从这里,您可以记下集群网络名称。对于本例,它是 MSSQL-CLUSTER1 并使用它进行连接,如下所示。
#5。在 SQL Server 2022 中测试 AlwaysOn 可用性组
现在为了测试一切是否正常,我们可以尝试使用 SQL Server网络名称登录 SQL Server。这可以使用 SSMS 来完成,如图所示。
连接后,您应该会看到这一点。
您还可以查看数据库和可用性组:
判决
现在这就是如何在 SQL Server 2022 中配置 AlwaysOn 可用性组。我希望这也对您有用。
在此页面上查看更多内容:
- 在 Docker/Podman 容器中运行 Microsoft SQL Server 2022
- 如何在 Ubuntu 20.04 上安装 Microsoft SQL Server 2022
- 在 Rocky Linux 8/AlmaLinux 8 上安装 Microsoft SQL Server 2022








































