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

news2024/11/20 11:39:41

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 来链接数据库了,永远都是链接到主库!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络入门---网络编程初步认识和实践(使用udp协议)

目录标题 前言准备工作udpserver.hpp成员变量构造函数初始化函数(socket,bind)start函数(recvfrom) udpServer.ccudpClient.hpp构造函数初始化函数run函数(sendto) udpClient.cc测试 前言 在上一篇文章中我们初步的认识了端口号的作用,ip地址和MAC地址在网络通信时…

Centos7、Mysql8.0 load_file函数返回为空的终极解决方法--暨selinux的深入理解

零、问题背景 最近想换房,为了方便自己对比感兴趣的房子,因此决定将目标房源的基本信息放在表里,特别是要一目了然的看到众多房子的各种图纸和照片,因此决定要在Mysql8.0.34数据库中以二进制形式保存图片(抛开合理性和…

VSCode 报错 gopls was not able to find modules in your workspace.

由于在VSCode中打开一个项目时出现如下提示: 于是检索其解决办法 根据提示我们可以看到这是由于gopls所出的问题,在工作空间找不到相关module,这是VSCode中go插件所依赖附带的,该语言服务器提供诸如自动完成,转到定义,…

《python每天一小段》--12 数据可视化《1》

欢迎阅读《Python每天一小段》系列!在本篇中,将使用Python Matplotlib实现数据可视化的简单图形。 一、概念 Matplotlib是一个流行的Python数据可视化库,它提供了丰富的绘图功能,可以创建各种类型的图表,包括折线图、…

echarts绘制一个环形图

其他echarts&#xff1a; echarts绘制一个柱状图&#xff0c;柱状折线图 echarts绘制一个饼图 echarts绘制一个环形图2 效果图&#xff1a; 代码&#xff1a; <template><div class"wrapper"><!-- 环形图 --><div ref"doughnutChart…

[面试题~k8s] 云原生必问基础篇

文章目录 概念篇1. k8s 是什么2. Container3. Pod4. Node5. Namespace6. Service7. Label8. Replica Set&#xff08;副本集)9. Deployment10. Volume11. Namespace12. PV 和 PVC 基础篇1. 删除 pod 流程2. k8s 有哪些组件master nodeworker node 3. k8s 和 docker 的关系4. 简…

mysql原理--InnoDB数据页结构

1.不同类型的页 页是 InnoDB 管理存储空间的基本单位&#xff0c;一个页的大小一般是 16KB 。InnoDB 为了不同的目的而设计了许多种不同类型的页。下面讨论存放我们表中记录的那种类型的页&#xff0c;官方称这种存放记录的页为索引&#xff08; INDEX &#xff09;页&#xff…

【开源】基于Vue+SpringBoot的河南软件客服系统

文末获取源码&#xff0c;项目编号&#xff1a; S 067 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S067。} 文末获取源码&#xff0c;项目编号&#xff1a;S067。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、…

【STM32】TIM定时器编码器

1 编码器接口简介 Encoder Interface 编码器接口 编码器接口可接收增量&#xff08;正交&#xff09;编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度 接收正交信号&#…

视频剪辑技巧:批量合并视频,几个步骤轻松完成

在视频剪辑过程中&#xff0c;批量合并视频是一个常见的需求。通过合并多个视频文件&#xff0c;可以减少剪辑时间和提高工作效率。在开始合并视频之前&#xff0c;首先要明确需求和目的。例如&#xff0c;是想要将多个短视频片段随机合并成一个新的视频&#xff0c;还是想要将…

5分钟了解自动化测试,自动化优势、劣势、工具和框架选择全剖析

本文共有3963字&#xff0c;快速阅读需要大约5分钟&#xff0c;赏味期限持久。 随着软件测试技术的发展&#xff0c;人们已经从最初的纯粹的手工测试转变为手工与自动化测试技术相结合的测试方法。近年来&#xff0c;自动化测试越来越受到人们的重视&#xff0c;对于自动化测试…

mysql面试题——MVCC

一&#xff1a;什么是MVCC&#xff1f; 多版本并发控制&#xff0c;更好的方式去处理读-写冲突&#xff0c;就是为了查询一些正在被另一个事务更新的行&#xff0c;并且可以看到它们被更新之前的值&#xff0c;这样在做查询的时候就不用等待另一个事务释放锁。 二&#xff1a…

【投稿优惠|检索稳定】2024年信息系统、工程与数字化经济国际会议(ICISEDE 2024)

2024年信息系统、工程与数字化经济国际会议(ICISEDE 2024) 2024 International Conference on Information Systems and Engineering and the Digital Economy(ICISEDE 2024) [会议简介] 2024 年信息系统、工程与数字化经济国际会议(ICISEDE 2024)将于 2024 年 1 月 20 日在厦门…

研习代码 day52 | 单调栈问题——柱状图中最大的矩形

一、柱状图中最大的矩形 1.1 题目 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;…

TruLens RAG Triad 学习

TruLens RAG Triad 学习 0. 背景1. RAG 三元组2. TruLens 快速入门2-1. 安装依赖2-2. 初始化 OpenAI 认证信息2-3. 获取数据2-4. 创建向量存储2-5. 从头构建自定义 RAG2-6. 设置反馈函数2-7. 构建应用程序2-8. 运行应用程序0. 背景 近年来,RAG 架构已成为为大型语言模型 (LLM…

第21章总结 网络通信

21.1网络程序设计基础 21.1.1 局域网与互联网 为了实现两台计算机的通信&#xff0c;必须用一个网络线路连接两台计算机。如下图所示 21.1.2 网络协议 1.IP协议 IP是Internet Protocol的简称&#xff0c;是一种网络协议。Internet 网络采用的协议是TCP/IP协议&#x…

如何利用人工智能+物联网技术实现自动化设备生产

随着科技的发展与行业竞争的日益激烈&#xff0c;制造业也逐渐走向智能化发展。制造业的改革是利用物联网技术和自动化设备&#xff0c;实现生产线的智能化和自适应生产&#xff0c;优化生产流程&#xff0c;提高生产效率和质量&#xff0c;为企业创造更大的价值。 方案概述 智…

计算目标检测和语义分割的PR

需求描述 实际工作中&#xff0c;相比于mAP项目更加关心的是特定阈值下的precision和recall结果&#xff1b;由于本次的GT中除了目标框之外还存在多边形标注&#xff0c;为此&#xff0c;计算IoU的方式从框与框之间变成了mask之间&#xff1b; 本文的代码适用于MMDetection下的…

wireshark过滤包小技巧

1、过滤包含某个字符串的数据包&#xff1a; 或者&#xff1a; 2、过滤包含某一连续十六进制的数据包&#xff1a; 或者&#xff1a; 3、过滤精确到位数位置 或者&#xff1a;

1-Tornado的介绍

1 tornado的介绍 **Tornado**是一个用Python编写的可扩展的、无阻塞的**Web应用程序框架**和**Web服务器**。 它是由FriendFeed开发使用的&#xff1b;该公司于2009年被Facebook收购&#xff0c;而Tornado很快就开源了龙卷风以其高性能着称。它的设计允许处理大量并发连接&…