一直想配置MSSQL SERVER的容灾技术,但由于各种事务干扰,总是未能成行,由于本次一个业务需要了解各种SQL SERVER的容灾技术,终于从开始要做,到了解概念,调试,到最后成功实现,花了接近两周时间,才做好SQL SERVER 日志传送的配置,有时出了问题,才发现网上一些资料很难解决问题,哪怕是AI,幸好得QQ SQL SERVER技术交流群里 福 的帮助,点醒了问题的关键 ,终于让日志传送得以完成,本次基于 SQL SERVER 2016版本来实施,其他版本差异不大。由于是初次配置,如果你认为部分概念有误,可以给我指出,谢谢。

下面是本次配置的主要步骤,出现的问题,主要是权限错误,原始错误,就不列出了。

目录

1.系统环境.... 5

2.前提条件.... 5

2.1.建立单独操作系统用户.... 5

2.2 修改SQLSERVER及代理的登录用户.... 6

2.3 设置共享文件夹权限.... 8

2.4 设置恢复模式:完整.... 10

3.配置日志传送操作步骤.... 10

3.1进入事务日志传送.... 10

3.2 启用日志传送主数据库.... 11

3.3.事务日志备份设置.... 12

3.4 辅助数据库设置.... 16

3.4.1.辅助数据库选择.... 16

3.4.2.初始化辅助数据库设置.... 19

3.4.3 还原事务日志设置.... 23

3.5 设置监视.... 25

3.6 保存设置.... 26

3.7.检查作业执行情况.... 27

3.8 检查文件结果.... 28

1.共享文件夹.... 28

2.事务日志文件拷贝情况.... 28

3.数据库变化情况.... 29

4 查看事务日志传送状态报告.... 29

1.登录主服务器或辅助服务器.... 30

2.点击 事务日志传送状态 报表.... 30

3.报表结果.... 30

1.系统环境

操作系统:win2016

数据库版本:SQLSERVER 2016

主库:192.168.133.131

辅助库:192.168.133.132

传送数据库:szdb

共享文件夹:\\192.168.133.131/sql_log

辅助库本地日志备份文件夹:d:\sqlbak

操作系统用户:logshipping   (不设置单独用户,恢复一直报权限问题)

2.前提条件

2.1.建立单独操作系统用户

我们这里使用logshipping

    

      为了操作方便,把这个用户加入 administrators组

2.2 修改SQLSERVER及代理的登录用户

         

    主库:

    

  

  

辅助库

2.3 设置共享文件夹权限

  共享文件夹:d:\sql_log

  

   

2.4 设置恢复模式:完整

3.配置日志传送操作步骤

  注意:只在主库即可配置完成所有步骤。

3.1进入事务日志传送

1.右键单击要在日志传送配置中用作主数据库的数据库,然后选择“ 属性”。

2.在 “选择页面”下,选择 “事务日志传送”

3.2 启用日志传送主数据库

选中 “将此数据库启用为日志传送配置中的主数据库” 复选框。

3.3.事务日志备份设置

1.在事务日志备份下,选择“备份设置”

2.在 “备份文件夹的网络路径” 框中,键入为事务日志备份文件夹创建的共享的网络路径,这里为:\\192.168.133.131\sql_log

3.“如果备份文件夹位于主服务器上,则在备份文件夹中键入本地路径”框。 (如果备份文件夹不在主服务器上,可以将此框留空。

4.配置 “删除超过...的文件” 和 “在超过...内未备份时发出警报” 参数

5.请注意 “备份作业” 下的 “计划” 框中列出的备份计划。 如果要自定义安装的计划,请选择“ 计划 ”并根据需要调整 SQL Server 代理计划

6.SQL Server 支持 备份压缩。 创建日志传送配置时,可以通过选择以下选项之一来控制日志备份的备份压缩行为:“使用默认服务器设置”、“压缩备份”或“不压缩备份” 。

7.选择“确定”

3.4 辅助数据库设置

3.4.1.辅助数据库选择

1.1在 辅助服务器实例和数据库下,选择“ 添加”。

1.2.选择 “连接 ”并连接到要用作辅助服务器的 SQL Server 实例

辅助数据库服务器:192.168.133.132

身份认证选择 ,sql server身份认证。

1.3.在 “辅助数据库” 框中,从列表中选择一个数据库或键入想要创建的数据库的名称

我们这里是:szdb

3.4.2.初始化辅助数据库设置

在 “初始化辅助数据库” 选项卡上,选择要用于初始化辅助数据库的选项

辅助数据库的数据文件和日志文件位置默认是放和MASTER同样位置,如果要调整,点 还原选项,并进行设置,不想调整,保持默认即可:

3.4.3 复制文件设置

1.在 “复制文件” 选项卡上的 “复制文件的目标文件夹” 框中,键入应该将事务日志备份复制到其中的文件夹的路径。 该文件夹通常位于辅助服务器上。

注意,辅助服务器上该文件,要给 代理用户,读写权限。我们这里,授权logshipping读写权限。

正常执行后,平时该目录下全是事务日志文件备份,如下:

2.请注意 “复制作业” 下的 “计划” 框中列出的复制计划。 如果要自定义安装的计划,请选择“ 计划 ”,然后根据需要调整 SQL Server 代理计划。 此计划应为大致的备份计划

3.4.3 还原事务日志设置

1.在 “还原事务日志” 选项卡上的 “还原备份时的数据库状态” 下,选择 “无恢复模式” 或 “备用模式” 选项

2.如果选择了 “备用模式” 选项,请选择是否要在进行还原操作时从辅助数据库断开用户连接

3.如果希望延迟辅助服务器上的还原进程,请在 “延迟还原备份操作至少” 下选择延迟时间

4.在“在以下时间内没有执行还原时报警”下选择警报阈值

5.请注意 “还原作业” 下 “计划” 框中列出的还原计划。

如果要自定义安装的计划,请选择“ 计划 ”,然后根据需要调整 SQL Server 代理计划。 此计划应为大致的备份计划

6.选择“确定”

3.5 设置监视

在 “监视器连接” 下,选择备份、副本以及还原作业所使用的连接方法来连接到监视器服务器

3.6 保存设置

在“ 数据库属性 ”对话框中,选择“ 确定 ”开始配置过程

如果成功,最后点关闭,否则,失败,会在状态中显示失败及相关信息

3.7.检查作业执行情况

3.8 检查文件结果

1.共享文件夹

事务日志备份情况

2.事务日志文件拷贝情况

在辅助库查看

3.数据库变化情况

4 查看事务日志传送状态报告

配置完成后,可以检查主库辅助库的执行情况

1.登录主服务器或辅助服务器

2.点击 事务日志传送状态 报表

在对象资源管理器中,右键单击服务器实例,依次指向“报表“,“标准报表”及“事务日志传送状态”

3.报表结果

主库

辅助库:

一点感想,我们都说ORACLE难,但我总觉得ORACLE的东西,出了问题,一般都能在官网中找到答案,要么是方法不ui,要么是遇到BUG,官网中能够很容易针对问题描述给出对应的解决办法,而且是比较精准的。但SQL SERVER的问题,出了问题,要进行排查,总觉得比较难,就好像前面有人说的免费的东西,可能才是最贵的,没有一个最终问题可以解决的地方。说白了,就是没有人给你兜底。一家之言,敬请谅解。

参照:

https://learn.microsoft.com/zh-cn/sql/database-engine/log-shipping/configure-log-shipping-sql-server?view=sql-server-ver17&tabs=ssms

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐