sqlserver同步-日志传送

文章目录

  • 先决条件
  • 安全性
  • 配置日志传送
  • 删除日志传送 (SQL Server)
  • 显示服务器实例上的事务日志传送状态报告
  • 监视日志传送 (Transact-SQL)
  • 故障转移到日志传送辅助服务器 (SQL Server)
    • 为受控故障转移做准备
    • 故障转移
      • 检查备份的日志文件是否都传送到辅助库
      • 把辅助库的日志文件还原到辅助库
      • 恢复数据库
      • 禁用辅助库的日志拷贝和还原,
      • 停用主库网络,修改辅助库ip为主库ip
      • 以辅助库为新主库,建立日志传送
  • 错误

先决条件

主数据库必须使用完整恢复模式或大容量日志恢复模式,将数据库切换为简单恢复模式会导致日志传送停止工作。

在这里插入图片描述
在这里插入图片描述
在配置日志传送之前,您必须创建共享,以便辅助服务器可以访问事务日志备份。 这是对生成事务日志备份的目录的共享。 例如,如果将事务日志备份到目录 d:\db-ls-bakeup\,可以创建该目录的 \primaryserver\db-ls-bakeup 共享。最好是用ip地址代替其中计算机名。实践中会有找不到网络名的错误。但会重做。

此共享文件夹需要给予everyone读写权限,sqlserver服务账号需要把备份写入此文件夹。辅助库的服务账号需要读取此文件夹。

在辅助库服务器,需要创建文件夹来接受事物日志的拷贝。此文件不需要共享。d:\db-ls-copy
在辅助库服务器,需要创建文件来指定辅助库的数据和日志文件的位置。d:\db-data\ 和 d:\db-log\ ,具体位置可根据具体情况来定。

安全性

权限
日志传送存储过程要求 sysadmin 固定服务器角色中的成员身份。
主库,无需改动权限。传送主要由辅助库的sqlserver和sqlserveragent服务角色完成。需要把它改为本地管理用户,否则权限不够。

辅助库
在这里插入图片描述
辅助库需要用本地管理员账号,要不报无权限错。代理需要配置为自动启动并启动起来。

配置日志传送

以下ip显示为29和69的即为同一辅助库,因为测试时间不同,用的ip不同,9为主库。
使用 SQL Server Management Studio

  1. 右键单击要在日志传送配置中用作主数据库的数据库,然后单击 “属性” 。
  2. 在 “选择页” 下,单击 “事务日志传送” 。
  3. 选中 “将此数据库启用为日志传送配置中的主数据库” 复选框。
  4. 在 “事务日志备份” 下,单击 “备份设置” 。
  5. 在 “备份文件夹的网络路径” 框中,键入为事务日志备份文件夹创建的共享的网络路径。
  6. “如果备份文件夹位于主服务器上,则在备份文件夹中键入本地路径”框。 (如果备份文件夹不在主服务器上,此框可以保留为空。)
    在这里插入图片描述
    实际情况,备查
    在这里插入图片描述

重要

如果主SQL Server服务帐户在本地系统帐户下运行,则必须在主服务器上创建备份文件夹,并指定该文件夹的本地路径。
在这里插入图片描述

默认15分钟是较好的选择,较小的时间,增加还原复杂性。

  1. 配置 “删除文件,如果其保留时间超过” 和 “在以下时间内没有执行备份时报警” 参数。
  2. 请注意 “备份作业” 下的 “计划” 框中列出的备份计划。 如果要自定义安装计划,请单击"计划",并根据需要SQL
    Server代理计划。
  3. SQL Server备份压缩。
    创建日志传送配置时,可以通过选择以下选项之一来控制日志备份的备份压缩行为:“使用默认服务器设置”、“压缩备份”或“不压缩备份” 。 有关详细信息,请参阅 Log Shipping Transaction Log Backup Settings。
  4. 单击“确定”。
  5. 在 “辅助服务器实例和数据库” 下,单击 “添加” 。
  6. 单击连接并连接到要用作SQL Server服务器的实例。
  7. 在 “辅助数据库” 框中,从列表中选择一个数据库或键入想要创建的数据库的名称。
  8. 在 “初始化辅助数据库” 选项卡上,选择要用于初始化辅助数据库的选项。
    在这里插入图片描述

备注

如果选择从Management Studio数据库备份初始化辅助数据库,则辅助数据库的数据和日志文件与 master
数据库的数据和日志文件位于同一位置。 此位置可能不同于主数据库的数据文件和日志文件所在的位置。

  1. 在 “复制文件” 选项卡上的 “复制文件的目标文件夹” 框中,键入应该将事务日志备份复制到其中的文件夹的路径。
    该文件夹通常位于辅助服务器上。
  2. 请注意 “复制作业” 下的 “计划” 框中列出的复制计划。 如果要自定义安装计划,请单击"计划",然后根据需要SQL
    Server代理计划。 此计划应为大致的备份计划。
    在这里插入图片描述

指定辅助库的数据和日志文件的文件夹位置,要不,系统会放在默认c盘安装sqlserver位置。造成磁盘空间不足。这个即为前面准备的文件夹。
在这里插入图片描述

  1. 在 “还原” 选项卡上的 “还原备份时的数据库状态” 下,选择 “无恢复模式” 或 “备用模式” 选项。
    在这里插入图片描述

重要

当主服务器和辅助服务器的版本相同时,仅选择“备用模式”。 当辅助服务器的主版本高于主服务器时,仅允许“无恢复模式”

  1. 如果选择了 “备用模式” 选项,请选择是否要在进行还原操作时从辅助数据库断开用户连接。
  2. 如果希望延迟辅助服务器上的还原进程,请在 “延迟还原备份操作至少” 下选择延迟时间。
  3. 在 “在以下时间内没有执行还原时报警” 下选择警报阈值。
  4. 请注意 “还原作业” 下 “计划” 框中列出的还原计划。 如果要自定义安装计划,请单击"计划",然后根据需要SQL
    Server代理计划。 此计划应为大致的备份计划。
  5. 单击“确定”。
  6. 在 “监视服务器实例” 下,选中 “使用监视服务器实例” 复选框,然后单击 “设置” 。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
传送过程中,辅助库的代理被禁用。

重要

若要监视此日志传送配置,必须现在添加监视服务器。 若要以后添加监视服务器,则需要先删除此日志传送配置,然后将其替换为包含监视服务器的新配置。

  1. 单击连接并连接到要用作SQL Server服务器的实例。
  2. 在 “监视器连接” 下,选择备份、副本以及还原作业所使用的连接方法来连接到监视器服务器。
  3. 在 “历史记录保持期” 下,选择想要保留日志传送历史记录的时间长度。
  4. 单击“确定”。
  5. 在 “数据库属性” 对话框中,单击 “确定” 开始配置进程。

删除日志传送 (SQL Server)

使用 SQL Server Management Studio
删除日志传送
连接当前为日志传送主服务器的 SQL Server 的实例,然后展开该实例。

展开“数据库”,右键单击日志传送主数据库,再单击“属性”。

在 “选择页” 下,单击 “事务日志传送” 。

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

单击 “确定” ,从此主数据库中删除日志传送。
在这里插入图片描述

删除日志传送后,在主库的sqlserver代理的作业中backup任务,和辅助库的sqlserver代理的作业中的copy任务和restore任务将自动删除
删除前的情况
在这里插入图片描述

删除后的情况
在这里插入图片描述

在辅助库执行以下操作,使辅助库回复为正常数据库。

在这里插入图片描述
在这里插入图片描述
刷新数据库后,数据库由备用/只读状态转为在线状态

显示服务器实例上的事务日志传送状态报告

连接到监视服务器、主服务器或辅助服务器。

在对象资源管理器中,右键单击服务器实例,依次指向“报表”和“标准报表”。

单击 “事务日志传送状态” 。
此报告调用 sp_help_log_shipping_monitor 来获取数据。 有关所需权限的信息,请参阅 sp_help_log_shipping_monitor (Transact-SQL) 。

监视日志传送 (Transact-SQL)

配置日志传送后,就可以监视有关所有日志传送服务器状态的信息。 日志传送操作的历史记录和状态始终由日志传送作业保存在本地。 备份操作的历史记录和状态存储在主服务器上,复制和还原操作的历史记录和状态存储在辅助服务器上。 如果使用了远程监视服务器,此信息还将存储在监视服务器上

故障转移到日志传送辅助服务器 (SQL Server)

为受控故障转移做准备

通常,主数据库与辅助数据库不同步,因为主数据库在其最新的备份作业后会继续更新。 此外,在某些情况下,最新的事务日志备份尚未复制到辅助服务器实例中,或者某些已复制的日志备份可能尚未应用到辅助数据库中。 建议如有可能,首先将所有辅助数据库与主数据库同步。
查看已还原的最后事物日志
在辅助库

故障转移

在出现故障时转移到辅助数据库:

检查备份的日志文件是否都传送到辅助库

  • 将所有未复制的备份文件从备份共享复制到每台辅助服务器的复制目标文件夹中。
    如果可能,查看下主库的备份文件夹和辅助库的接受传送备份文件的copy还原文件夹,最终文件是否一致。

把辅助库的日志文件还原到辅助库

  • 将所有未应用的事务日志备份按顺序应用到每个辅助数据库中。 有关详细信息,请参阅 (SQL Server) 应用事务日志备份。

在辅助库

RESTORE LOG SQLTestDB WITH NORECOVERY

在这里插入图片描述

恢复数据库

执行

RESTORE DATABASE SQLTestDB WITH RECOVERY

完成还原操作并恢复数据库后,将执行恢复过程,以确保数据库的完整性。 有关恢复过程的详细信息,请参阅还原和恢复概述 (SQL Server)。

恢复过程完成后,数据库将进入联机状态,不能再将其他事务日志备份应用到数据库。 例如,一系列事务日志备份包含一个运行时间长的事务。 该事务的起点记录在第一个事务日志备份中,终点记录在第二个事务日志备份中。 第一个事务日志备份中没有任何关于提交或回滚操作的记录。 如果在应用第一个事务日志备份后运行恢复操作,则运行时间长的事务被视为未完成,并且将回滚事务的第一个事务日志备份中记录的数据修改。 SQL Server 不允许在此点后应用第二个事务日志备份。

如果不能访问主库,以下几步忽略。

  • 如果可以访问主数据库,则请备份活动的事务日志,并将日志备份应用到辅助数据库。 可能需要在发出 restore
    命令之前将数据库设置为单用户模式以获得独占访问权限,然后在还原完成后将其切换回多用户模式。

  • 如果原始主服务器实例没有损坏,则请使用 WITH NORECOVERY 备份主数据库的事务日志尾部。
    这将使数据库处于还原状态,因此用户无法使用。 最终,您将能够通过应用替换主数据库中的事务日志备份前滚此数据库。

    有关详细信息,请参阅 (SQL Server) 的事务日志备份。

  • 同步辅助服务器之后,可以根据您的首选,通过恢复任一辅助数据库并将客户端重定向到该服务器实例来故障转移该辅助服务器。
    恢复操作将使数据库处于一致的状态并使其联机。

备注

辅助数据库可用时,应确保其元数据与原始主数据库的元数据一致。 有关详细信息,请参阅在使数据库在其他服务器实例上可用时管理元数据 (SQL
Server) 。

忽略步骤到此结束。

禁用辅助库的日志拷贝和还原,

在这里插入图片描述

停用主库网络,修改辅助库ip为主库ip

修改本机的ip地址为原来辅助库ip地址,检查应用客户端是否正常。

  • 恢复辅助数据库之后,可以将其重新配置为其他辅助数据库的主数据库。

以辅助库为新主库,建立日志传送

把本辅助库作为主库,选择一个新的辅助库,重新配置日志传送。

错误

测试中的一些错误。
正在联机的standby的数据库,不能做还原操作,需要改为单用户模式。来独占访问权。
在这里插入图片描述
在这里插入图片描述

处于standby状态的数据库,不能备份。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何写好接口自动化测试脚本

谈到接口测试,大家关注更多的是哪个工具更优秀,更好用。但是很少人关注到接口测试用例的设计问题,也很少人会去写接口用例,都代码化了嘛,还写什么用例,是吧? 这样真的对么?我们是不…

京东2023年度各行业数据报告-2023全年度冰箱十大热门品牌销量榜单

今年,受家电市场整体大盘下滑的影响,冰箱市场的总体产销量较上年有降幅。 根据鲸参谋电商数据分析平台的相关数据显示,2023年京东平台上冰箱市场的全年销量为1300万,同比降低约9%;销售额将近320亿,同比降低…

UNet医学图像分割网络

UNet网络结构 对于医学图像的分割任务,这里使用UNet网络实现CT影响的病灶区域分割任务。记一篇学习笔记。 1、UNet网络结构 原始图片大小为(512, 512), 根据CT数据像素值分布的特征,对于image保留[-1024, 1024]范围内的像素,并归一 化处理到…

Java 基础学习(十五)集合排序、Lambda和Stream

1 集合排序 1.1 集合排序API 1.1.1 集合排序概述 集合排序是指对一个集合中的元素按照特定规则进行重新排列,以使得集合中的元素按照预定义的顺序呈现。 在集合排序中,通常需要定义一个比较规则,这个比较规则用于决定集合中的元素在排序后…

Android App程序应用未校验签名证书——————《风险等级高》

目录 应用签名未校验风险1、检测目的2、风险等级3、检测依据4、风险描述5、检测步骤6、结果描述7、解决方案7.1、Android 检验 APK 是否签名的代码7.2、检验APK签名 8、结尾 应用签名未校验风险 1、检测目的 检测App程序启动时是否校验签名证书。 防止App的盗版率。未进行签…

jQuery实现轮播图代码

简述 一个简单的jQuery轮播图代码,首先,定义了一个slideshow-container的div容器,其中包含了所有轮播图幻灯片。每个幻灯片都包含一个mySlides的类名,并且使用CSS将其隐藏。然后,使用JavaScript代码来控制幻灯片的显示和隐藏。在showSlides()函数中,遍历所有幻灯片并将它…

JPEG文件内嵌HTML代码(JavaScript型图片马)

基础概念 0xFFD8:jpeg文件开始标志; 0xFFFE:jpeg文件注释开始标志; 0x0166:注释后紧跟的16进制数值,被选中部分长度为358字节,换算为16进制为166; 0xFFE0:标志图片内容开…

docker 部署kafka

随笔记录 目录 1. 安装zookeeper 2. 安装Kafka 2.1 拉取kafka image 2.2 查询本地docker images 2.3 查看本地 容器(docker container) 2.3.1 查看本地已启动的 docker container 2.3.2 查看所有容器的列表,包括已停止的容器。 2.4 …

Mybatis-Plus的分页语句流程保姆级分析(四)

group : com.baomidou version:3.5.2.2-SNAPSHOT 为什么要分析分页流程 因为我在使用的时候发现分页不生效,得分析一下找到原因。 问题描述: 我的分页不生效。 com.baomidou.mybatisplus.extension.plugins.pagination的Page对象。 代码如下&#x…

【数据结构】线段树算法总结(区间修改)

知识概览 线段树一般有5个操作: pushup:用子节点更新当前节点信息pushdown:把懒标记往下传build:初始化一棵树modify:修改一个区间query:查询一个区间 不带懒标记(支持单点修改)的线…

猫罐头那种好吃又健康?五大值得买的猫罐头推荐

很多新手养猫的姐妹们都会为选罐头感到焦虑!但是每种罐头都有优缺点,每只猫咪的胃口也都不同,只有适合自家猫的才是最好的。所以姐妹们在选罐头之前可以先做好功课,了解一下怎么选好的罐头。 作为一个已经离职的宠物医生&#xff…

6.6TB 全球地名路网透明标签瓦片地图

但凡要干一件稍微有意义的事,总会需要一定的时间积累,甚至还需要下不少的笨工夫,也正因如此,才会让这些最终做成的事更具有价值和意义。 比如我们曾在一个项目的助推下,就干了一件比较有意义的事情,尽管投入…

从实践角度优化数据库设计:深入解析三范式的应用

总述 第一范式(1NF):要求关系模式中的每个属性都是不可分的数据项,即属性具有原子性。第二范式(2NF):在满足1NF的基础上,要求关系模式中的所有非主属性都完全函数依赖于整个候选键(或主键)。第三范式(3NF):在满足2NF的基础上,要求关系模式中的每个非主属性都不传…

虚拟机的下载、安装

下载 vmware workstation(收费的虚拟机) 下载vbox 网址:Oracle VM VirtualBox(免费的虚拟机) 以下选择一个下载即可,建议下载vbox,因为是免费的。安装的时候默认下一步即可(路径最好…

java并发编程四 Monitor 概念,api介绍与线程状态转换

Monitor 概念 Java 对象头 以 32 位虚拟机为例子: 普通对象 数组对象 其中 Mark Word 结构为 64 位虚拟机 Mark Word 小故事 故事角色 老王 - JVM小南 - 线程小女 - 线程房间 - 对象房间门上 - 防盗锁 - Monitor房间门上 - 小南书包 - 轻量级锁房间门上 -…

【实战】如何在Docker Image中轻松运行MySQL

定义 使用Docker运行MySQL有许多优势。它允许数据库程序和数据分离,增强了数据的安全性和可靠性。Docker Image的轻便性简化了MySQL的部署和迁移,而Docker的资源隔离功能确保了应用程序之间无冲突。结合中间件和容器化系统,Docker为MySQL提供…

java Filter内存马分析

目录 0x01 什么是Filter马 0x02 环境搭建 0x03 Filter内存马探索 1.tomcat Filter 的流程分析 2.攻击思路分析 0x04 Filter内存马exp编写 本文由掌控安全学院 - xilitter 投稿 知识基础: 刚开始内存马的这块学习与反序列化并无太大关系,反而与ja…

如何制作一本电子产品图册,打开线上推广呢

​随着互联网的普及和社交媒体的兴起,越来越多的企业开始注重线上传播。对于产品而言,制作一本精美的产品图册不仅可以展示产品的外观和特点,还可以通过线上传播吸引更多的潜在客户。 不会制作的朋友们,其实也不用担心&#xff0c…

使用 uiautomatorviewer 获取元素的定位信息

1. 使用 adb 连接设备(真机或模拟器) 连接夜神模拟器:adb connect 127.0.0.1:62001 连接MuMu模拟器:adb connect 127.0.0.1:7555 2. 打开 uiautomatorviewer 在 android-sdk --> tools 目录,找到 uiautomatorvie…

LeetCode Hot100 215.数组中的第k个最大元素

题目: 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 方法一&#xff…