当前位置: 首页 > news >正文

Sql Server 2017主从配置之:事务日志传送

使用事务日志传送模式搭建Sql Server 2017主从同步,该模式有一定的延迟,是通过3个不同的定时任务,将主库的日志同步到从库进行恢复来实现数据库同步操作。

环境准备

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

  • 主库:server1,192.168.56.110
  • 从库:server2,192.168.56.111

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

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

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

  • 创建操作系统账户sqadmin,分配管理员权限

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

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

  • 安装SSMS 19.2版本

安装SQL Server 2017

勾选SQL Server复制
在这里插入图片描述
服务器配置,三个服务都改成自动
在这里插入图片描述
数据库引擎配置,服务配置,选择“混合模式(SQL Server身份证和Windows身份证)”,输入sa账号密码,点击添加当前用户作为SQL Server管理员,这里也可以另外创建一个操作系统账号
在这里插入图片描述

点击下一步,直到安装完成!

两台服务共同配置准备

创建系统账号sqadmin,设置管理员权限

在这里插入图片描述

设置服务启动账户sqadmin

打开Sql Server Configuration Manager,进入SQL Server 服务,将SQL Server服务和SQL Server 代理服务的登录身份都改成sqadmin,并设置自动启动
在这里插入图片描述

配置服务器代理账户

打开SQL Server Management Studio,链接数据库
右键点击链接,选择属性,打开服务器属性面板,点击安全性选项页,勾选启动代理账户,输入sqadmin账户密码
在这里插入图片描述

一、主库 server1 配置

创建共享文件夹

创建共享文件夹c:\backup,设置共享,并添加sqadmin账号权限
在这里插入图片描述

创建测试数据库demo

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

创建测试数据库demo,并创建测试表t_user
在这里插入图片描述

配置事务日志传送

右键点击数据库,点击属性,点击“事务日志传送”选项,勾选“将此数据库启用为日志传送配置中的主数据库”
在这里插入图片描述
主库设置备份日志文件存储目录,点击确定后,下一步就配置从库
在这里插入图片描述

二、从库 server2 配置

添加辅助数据库配置

在这里插入图片描述
链接到辅助数据库,注意,这里要填ip链接。
配置从库之前,需要到从库服务创建好共享文件夹c:\backup,和主库的一样,需要设置sqadmin完全读写权限

在这里插入图片描述

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

在这里插入图片描述

配置完成后,

点击确定,会自动在从库创建数据库demo_bak,以及自动创建三个计划任务(主库1个,从库2个)

在这里插入图片描述

四、测试

在主库上面创建一个表,或insert一些数据,过一会儿到从库看看效果。
右键点击计划任务,点击查看历史记录,可以看见详细同步记录。
在这里插入图片描述

在这里插入图片描述

五、注意

如果出现从库计划任务无法链接到主库服务器的情况,则可用如下sql查询数据中的server名称是否有误,如果有误可删除重新添加

## 查看server配置
sp_helpserver
## 删除SERVER1
sp_dropserver 'SERVER1', null
## 添加新的server
sp_addserver '192.168.56.111' ,'LOCAL',null

同步过程中,如果从库正在使用,就会无法同步,恢复计划任务(LSRestore_SERVER1_demo)报类似如下错误,当从库停止使用时,又会继续同步。

如果出现提示数据库被使用,又不知道在哪里被使用,建议直接重启从库数据库服务。

2023-11-18 00:12:50.70	*** 错误: 无法将日志备份文件“\\192.168.56.111\backup\demo_20231117161200.trn”应用到辅助数据库“demo_bak”。(Microsoft.SqlServer.Management.LogShipping) ***
2023-11-18 00:12:50.70	*** 错误: 因为数据库正在使用,所以无法获得对数据库的独占访问权。
RESTORE LOG 正在异常终止。(.Net SqlClient Data Provider) ***
2023-11-18 00:12:50.71	*** 错误: 日志备份文件“\\192.168.56.111\backup\demo_20231117161200.trn”已通过验证但无法应用到辅助数据库“demo_bak”。(Microsoft.SqlServer.Management.LogShipping) ***
2023-11-18 00:12:50.73	正在删除旧日志备份文件。主数据库:“demo”
2023-11-18 00:12:50.73	还原操作完成,但有错误。辅助 ID:“cbd809d8-1bf7-4bbe-aaa3-ecf21e15d147”
http://www.lryc.cn/news/235065.html

相关文章:

  • 每日OJ题_算法_双指针_力扣283. 移动零+力扣1089. 复写零
  • WebGl-Blender:建模 / 想象成形 / Blender概念词汇表 / 快捷键
  • 【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能
  • WPF实现右键菜单
  • Java智慧工地SaaS管理平台源码:AI/云计算/物联网
  • 【漏洞复现】通达oa 前台sql注入
  • 机器学习笔记 - Ocr识别中的文本检测EAST网络概述
  • 【SQL server】数据库、数据表的创建
  • vue的生命周期分别是什么?
  • Java拼图游戏
  • Vue框架的element组件table文字居中
  • 科技创新 共铸典范 | 江西卫健办邓敏、飞图影像董事长洪诗诗一行到访拓世科技集团,提振公共卫生事业发展
  • Linux安装OpenCV并配置VSCode环境
  • Django(ORM事务操作|ORM常见字段类型|ORM常见字段参数|关系字段|Meta元信息)
  • 【mujoco】Ubuntu20.04配置mujoco210
  • 【洛谷 P3853】[TJOI2007] 路标设置 题解(二分答案+循环)
  • 蓝桥杯 vector
  • ai绘画部署教程
  • 策略模式的应用——应对频繁的需求变更
  • qt-C++笔记之treeWidget初次使用
  • SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(八)
  • C语言编程陷阱(八)
  • 客户端性能优化实践
  • mysql使用--表达式和函数
  • <蓝桥杯软件赛>零基础备赛20周--第6周--数组和队列
  • 软件开发、网络空间安全、人工智能三个方向的就业和前景怎么样?哪个方向更值得学习?
  • 新增文章分类
  • 选硬币该用动态规划
  • LeetCode 2342. 数位和相等数对的最大和:哈希表
  • Vulkan渲染引擎开发教程 一、开发环境搭建