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

2023-12-09 21:01

本文主要是介绍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 Management Studio 就可以使用名称alwayson 来链接数据库了,永远都是链接到主库!

在这里插入图片描述

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



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

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分