Microsoft SQL Server 2019是用于存储和处理数据库交易和数据分析的Microsoft最新数据库管理系统(RDBMS)。MSSQL 2019是专为大型组织设计的,提供极高的性能,安全性和可伸缩性。为了实现最高可用性,MSSQL 2019采用了两种高可用性技术,包括Always On Availability Groups(AG)和Mirroring。
Always On Availability Groups(AG)是MSSQL 2019提供的一种选择可用性技术,它可以提供多个数据库实例之间的数据可用性。它利用SQL Server节点失败探测(SNN)机制来实现节点状态的健康监测。AG由两类节点组成:活动(Active)和备份(Passive),允许备份节点替代丢失的主机节点处理事务请求,以在发生故障时确保有继续的性能。
AG的另一项优势是它可以用来提供读取负载的冗余,这样用户就可以从不同的拥有数据库副本的节点读取数据,而不会减慢性能。此外,AG还支持无论主节点是否在运行,用户都可以从备份节点进行读取。这就意味着AG已经形成一个冗余和冗余机制来实现最高程度的可用性。
Mirroring也是MSSQL 2019提供的高可用性技术。它使用主从连接,通过自动复制数据,实现主机节点故障时,将事务请求转移到另一节点。 Mirroring还支持自动的人工干预和数据库恢复,在节点故障时,它可以在活动节点上自动执行数据库恢复过程,使用户可以立即使用数据库。
通过使用这两种技术,MSSQL 2019可以实现最高可用性:AG保证多个数据库实例之间的数据可用性,而Mirroring可以在发生故障时自动恢复数据库。此外,AG还支持冗余读取负载,使用户可以从不同的节点读取数据,而不会减慢性能,从而实现极致高可用性。
例子:
— 构建AG组
CREATE AVAILABILITY GROUP MyAG
WITH (AUTOMATED_BACKUP_PREFERENCE = SECONDARY);
— 设置首选副本
ALTER AVAILABILITY GROUP MyAG
MODIFY REPLICA ON ‘SecondaryServer’
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(‘SecondaryServer’)));
— 启动AG
ALTER AVAILABILITY GROUP MyAG
JOIN;
— 设置 mirroring 会话
ALTER DATABASE MyDB
SET PARTNER = ‘SecondaryServer’;
— 启动 Mirroring 会话
ALTER DATABASE MyDB
SET PARTNER RESUME;
通过使这些Ag和mirroring脚本,您可以使用MSSQL 2019实现极致高可用性。 默认情况下,MSSQL 2019会更新所有节点以确保服务是最新的,并且可以在客户端恢复一个断开的连接,这使得它在高可用性和安全性方面非常可靠。