当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 11028102提问 提问时间:2023-11-20 18:43:51阅读次数: 102

最佳答案 问答题库1028位专家为你答疑解惑

使用事务日志传送模式搭建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”
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Sql Server 2017主从配置之:事务日志传送":http://eshow365.cn/6-40568-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!