Sql Server 2017主从配置之:AlwaysOn高可用

2023-12-06 19:04

本文主要是介绍Sql Server 2017主从配置之:AlwaysOn高可用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AlwaysOn高可用功能,真正实现了数据库的灾备切换、高可用。

AlwaysOn通过Windows Server故障转移群集,部署高可用数据库组。

  • 在故障转移群集基础上完成部署
  • 读写分离,只读负载平衡
  • 最多3个写入节点实现故障转移
  • 最多3个数据实时同步节点

环境准备

两台服务器,配置都是8g2核,50g硬盘,操作系统版本Windows Server 2019 Datacenter

  • 域服务器:adc,192.168.56.120
  • 服务器1:server1:,192.168.56.121
  • 服务器2:server2,192.168.56.122

本人使用虚拟机做模拟配置,在虚拟机操作系统上做如下配置

  • 虚拟机配置两张网卡,以便和主机通讯

  • 虚拟机启动远程桌面 ,右键左下角win图标-系统-远程桌面,点击启用

  • 为方便测试,关闭系统防火墙,控制面板\系统和安全\Windows Defender 防火墙\自定义设置

  • 安装Sql Server 2017企业版,个人的Express版本不支持事务日志复制

  • 安装SSMS 19.2版本

前置条件

  • 域环境部署完成
  • 故障转移群集部署完成

Sql Server启用AlwaysOn高可用

打开 “Sql Server 2017 配置管理器”,右键SQL Server服务属性,启用AlwaysOn 可用性组,并修改服务登录账户(改成Administrator),然后重启服

在这里插入图片描述
在这里插入图片描述

注意:两台服务器要做同样的操作

打开SQL Server Management Studio,链接数据库。

1、创建共享文件夹,并备份测试库

Always On高可用性的先决条件是同步的数据库需要做一次完整的备份!

1)创建测试数据库test
2)创建共享文件夹c:\backup
3)完整备份一次test库到c:\backup目录
在这里插入图片描述

在这里插入图片描述

2、创建AlwaysOn高可用组

右键AlwaysOn高可用性-可用性组,点击“新建…”,输入组名称,点击下一步,勾选测试数据库“test”
在这里插入图片描述
在这里插入图片描述
点击添加副本,把server2添加进来,默认就是辅助库
在这里插入图片描述
勾选自动故障转移,把可读辅助副本改成是
在这里插入图片描述
切换到端点选项,把端点URL都改成ip地址访问
在这里插入图片描述

下一步,选择完整的日志备份,并选择前面创建的共享文件夹\SERVER1\backup,然后下一步,直到配置完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

至此,AlwaysOn高可用,主从同步的功能已经配置完成!server1上显示高可用组“test (主要)”,server2上显示高可用组“test (辅助)”

在这里插入图片描述

在这里插入图片描述

可以测试一下在主库insert一条记录,在从是否可以立即查询到。

3、数据库同步测试

在主库中创建一张表,并插入两条数据,在从库中可以实时查到!在这里插入图片描述
在这里插入图片描述
从库删除数据测试,从库是只读库,所以删除失败!
在这里插入图片描述

4、故障转移

1)手动故障转移

在主库的alwaysOn上面右键,选择“故障转移”,下一步链接到辅助库服务器,下一步确定就可以转移,转移后,主库就变成从库了,从库就变成主库了

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2)自动故障转移

当主库服务不可用时,从库会自动变成主库

5、配置监听器,实现故障转移时程序高可用

为了在群集主备节点切换的时候,应用程序不需要修改动数据库链接ip地址,我们需要创建一个监听器,应用程序只要链接监听器就可以,这样在主备切换节点切换的时候,监听器会自动路由的新的主节点上,应用程序无须做任何修改。

1)右键高可用组监听器,新建监听器。
2)给监听器配置固定ip,端口使用默认1433,随便输入一个名字,比如“alwayson”,点击确定!

注意:这里需要域环境支持

在这里插入图片描述
添加成功后,会在域控服务器中添加一个虚拟主机alwayson

可以看见之前创建的群集,同样有一条记录 sqlcluster
在这里插入图片描述
打开DNS管理器,同样会自动创建一条记录alwayson

可以看见之前创建的群集,同样有一条记录 sqlcluster

在这里插入图片描述

这篇关于Sql Server 2017主从配置之:AlwaysOn高可用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/462948

相关文章

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分