SQL Server的日志传送

news2024/11/18 9:43:03

日志传送和复制

  • 一、前言
  • 二、相关术语和定义
  • 三、日志传送和复制
    • 3.1、在主数据库丢失时从辅助数据库进行复制的要求和过程
    • 3.2、使用事务复制进行日志传送
    • 3.3、使用合并复制进行日志传送

一、前言

日志传送允许您自动将事务日志备份从主服务器实例上的主数据库发送到单独辅助服务器实例上的一个或多个辅助数据库。事务日志备份分别应用于每个辅助数据库。可选的第三个服务器实例(称为监视服务器)记录备份和还原操作的历史记录和状态,如果这些操作未能按计划发生,可以选择引发警报。

日志传送的好处:

  • 为单个主数据库和一个或多个辅助数据库提供灾难恢复解决方案,每个数据库都位于单独的 SQL Server 实例上。

  • 支持对辅助数据库进行有限的只读访问(在还原作业之间的间隔期间)。

  • 允许主服务器备份主数据库的日志与辅助服务器必须还原(应用)日志备份之间的用户指定的延迟。较长的延迟可能很有用,例如,如果主数据库上的数据意外更改。如果很快注意到意外更改,则延迟可以让您在更改反映在辅助数据库之前从辅助数据库中检索仍然未更改的数据。

日志传送包含三个操作:

  1. 在主服务器实例上备份事务日志。

  2. 将事务日志文件复制到辅助服务器实例。

  3. 在辅助服务器实例上还原日志备份。

日志可以传送到多个辅助服务器实例。在这种情况下,将为每个辅助服务器实例重复操作 2 和 3。

日志传送配置不会自动从主服务器故障转移到辅助服务器。如果主数据库不可用,则可以手动使任何辅助数据库联机。

可以使用辅助数据库进行报告。

此外,还可以为日志传送配置配置警报。

在这里插入图片描述

二、相关术语和定义

(1)主服务器:作为生产服务器的 SQL Server 实例。
主数据库 主服务器上要备份到另一台服务器的数据库。通过 SQL Server Management Studio 对日志传送配置的所有管理都是从主数据库执行的。

(2)辅助服务器:要在其中保留主数据库的热备用副本的 SQL Server 实例。

(3)辅助数据库:主数据库的暖备用副本。辅助数据库可能处于“正在恢复”状态或“待机”状态,这使数据库可用于有限的只读访问。

(4)监视服务器:SQL Server 的一个可选实例,用于跟踪日志传送的所有详细信息,包括:

  • 上次备份主数据库上的事务日志的时间。

  • 辅助服务器上次复制和还原备份文件的时间。

  • 有关任何备份失败警报的信息。

注意:配置监视服务器后,如果不先删除日志传送,则无法对其进行更改。

(5)备份作业:一种 SQL Server 代理作业,用于执行备份操作,将历史记录记录到本地服务器和监视服务器,并删除旧的备份文件和历史记录信息。启用日志传送后,将在主服务器实例上创建作业类别“日志传送备份”。

(6)复制作业:一种 SQL Server 代理作业,它将备份文件从主服务器复制到辅助服务器上的可配置目标,并在辅助服务器和监视服务器上记录历史记录。在数据库上启用日志传送后,将在日志传送配置中的每个辅助服务器上创建作业类别“日志传送副本”。

(7)还原作业:将复制的备份文件还原到辅助数据库的 SQL Server 代理作业。它在本地服务器和监视服务器上记录历史记录,并删除旧文件和旧历史记录信息。在数据库上启用日志传送后,将在辅助服务器实例上创建作业类别“日志传送还原”。

(8)警报作业:一种 SQL Server 代理作业,当备份或还原操作未在指定阈值内成功完成时,它会为主数据库和辅助数据库引发警报。在数据库上启用日志传送后,将在监视服务器实例上创建作业类别“日志传送警报”。

三、日志传送和复制

日志传送涉及通常驻留在不同计算机上的单个数据库的两个副本。在任何给定时间,客户端当前只有一个数据库副本可用。此副本称为主数据库。客户端对主数据库所做的更新通过日志传送到数据库的其他副本(称为辅助数据库)进行传播。日志传送涉及将对主数据库进行的每次插入、更新或删除操作中的事务日志应用到辅助数据库。

日志传送可以与复制结合使用,具有以下行为:

  • 日志传送故障转移后,复制不会继续。如果发生故障转移,复制代理不会连接到辅助代理,因此事务不会复制到订阅服务器。如果发生故障回复到主数据库,复制将恢复。记录从辅助数据库到主数据库的传送副本的所有事务都将复制到订阅服务器。

  • 如果主数据库永久丢失,则可以重命名辅助数据库,以便复制可以继续。本主题的其余部分介绍处理此案例的要求和过程。给出的示例是发布数据库,它是日志交付的最常见数据库,但类似的过程也可以应用于订阅和分发数据库。

3.1、在主数据库丢失时从辅助数据库进行复制的要求和过程

  • 如果主数据库包含多个发布数据库,请将所有发布数据库日志传送到同一辅助数据库。

  • 辅助服务器实例的安装路径必须与主服务器实例相同。辅助服务器上的用户数据库位置必须与主服务器上的位置相同。

  • 在主密钥上备份服务主密钥。此密钥将在辅助密钥上还原。

  • 日志传送不保证不会丢失数据。主数据库上的故障可能导致尚未备份的数据丢失或在故障期间丢失备份。

3.2、使用事务复制进行日志传送

对于事务复制,日志传送的行为取决于与备份同步选项。可以在发布数据库和分发数据库上设置此选项;在发布服务器的日志传送中,只有发布数据库上的设置是相关的。

在发布数据库上设置此选项可确保在发布数据库中备份事务之前不会将事务传递到分发数据库。然后,可以在辅助服务器上还原最后一个发布数据库备份,而分发数据库不可能具有还原的发布数据库没有的事务。此选项保证,如果发布服务器故障转移到辅助服务器,则在发布服务器、分发服务器和订阅服务器之间保持一致性。延迟和吞吐量会受到影响,因为在发布服务器上备份事务之前,无法将事务传递到分发数据库;如果您的应用程序可以容忍此延迟。如果未设置与备份同步选项,订阅服务器可能会收到不再包含在辅助服务器上恢复的数据库中的更改。

(1)使用与备份同步选项配置事务复制和日志传送:

  1. 如果未在发布数据库上设置与备份同步选项,请执行 sp_replicationdboption ‘’, ‘sync with backup’, ‘true’。

  2. 为发布数据库配置日志传送。

  3. 如果发布服务器失败,请使用 RESTORE LOG 的KEEP_REPLICATION选项将数据库的最后一个日志还原到辅助服务器。这将保留数据库的所有复制设置。

  4. 将 msdb 数据库和主数据库从主数据库还原到辅助数据库。如果主数据库也是分发服务器,请将分发数据库从主数据库还原到辅助数据库。这些数据库在复制配置和设置方面必须与主数据库的发布数据库一致。

  5. 在辅助服务器上,重命名计算机,然后重命名 SQL Server 实例以匹配主服务器名称。

  6. 在辅助服务器上,还原从主服务器备份的服务主密钥。

(2)配置事务复制和日志传送而不使用与备份同步选项:

  1. 为发布数据库配置日志传送。

  2. 如果发布服务器失败,请使用 RESTORE LOG 的KEEP_REPLICATION选项将数据库的最后一个日志还原到辅助服务器。这将保留数据库的所有复制设置。

  3. 将 msdb 数据库和主数据库从主数据库还原到辅助数据库。如果主数据库也是分发服务器,请将分发数据库从主数据库还原到辅助数据库。这些数据库在复制配置和设置方面必须与主数据库的发布数据库一致。

  4. 在辅助服务器上,重命名计算机,然后重命名 SQL Server 实例以匹配主服务器名称。可能会从日志读取器代理收到一条错误消息,指出发布数据库和分发数据库未同步。

  5. 在辅助服务器上,还原从主服务器备份的服务主密钥。

  6. 执行sp_replrestart。此存储过程可用于强制日志读取器代理忽略发布数据库日志中以前复制的所有事务。存储过程完成后应用的事务由日志读取器代理处理。

  7. 在存储过程成功执行后重新启动日志读取器代理。

  8. 已分发到订阅服务器的事务可能会在发布服务器上应用。若要确保分发代理在尝试在订阅服务器上重新应用这些事务时不会失败并显示错误,请指定标题为“出现数据一致性错误时继续”的代理配置文件。

3.3、使用合并复制进行日志传送

按照以下过程中的步骤配置合并复制和日志传送。

  1. 为发布数据库配置日志传送。有关详细信息,请参阅配置日志传送 (SQL Server)。

  2. 如果发布服务器失败,请在辅助服务器上重命名计算机,然后重命名 SQL Server 实例以匹配主服务器名称。

  3. 使用“还原日志”的KEEP_REPLICATION选项将数据库的最后一个日志还原到辅助服务器。这将保留数据库的所有复制设置。

  4. 将 msdb 数据库和主数据库从主数据库还原到辅助数据库。这些数据库在复制配置和设置方面必须与主数据库的发布数据库一致。

  5. 在辅助服务器上,还原从主服务器备份的服务主密钥。

  6. 将发布数据库与一个或多个订阅数据库同步。这样,您就可以上载以前在发布数据库中所做的更改,但这些更改未在还原的备份中表示。

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

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

相关文章

思维导图手撕MyBatis源码

文章目录 前置准备通过类加载器读取配置文件流创建sqlSessionFactory建造者模式的使用 打开SqlSession获取Mapper接口对象执行Mapper接口方法 前置准备 既然要读MyBatis的源码,那么我们就要先弄清楚MyBatis的入口在哪。这里我们直接写一个标准的MyBatis使用程序&am…

Node 【Buffer 与 Stream】

文章目录 🌟前言🌟Buffer🌟 Buffer结构🌟 什么时候用Buffer🌟 Buffer的转换🌟 Buffer使用🌟 创建Buffer🌟 字符串转Buffer🌟 Buffer转字符串🌟 拼接Buffer&am…

微信小程序登录注册页面

// login.js // 获取应用实例 var app getApp() var api require("../../utils/api.js")Page({data: {motto: zhenbei V1.0.0,userInfo: {},hasUserInfo: false,disabled: true,btnstate: default,username: ,password: ,canIUse: wx.canIUse(button.open-type.get…

UE4/5 C++网络服务器编程纪录【零】--准备篇

前言 之前利用业余时间重新复习UE4/5的C开发,闲来无事做了个基于独立服务器的多人在线(目前限定客户数量是20人以内)DEMO,核心功能在我之前发的B站视频里面有,战斗、动作、交互以及场景演示都有了,有朋友看…

Linux使用:环境变量指南和CPU和GPU利用情况查看

Linux使用:环境变量指南和CPU和GPU利用情况查看 Linux环境变量初始化与对应文件的生效顺序Linux的变量种类设置环境变量直接运行export命令定义变量修改系统环境变量修改用户环境变量修改环境变量配置文件 环境配置文件的区别profile、 bashrc、.bash_profile、 .ba…

函数(有点难,要注重实战)

目录 1. 函数是什么2. C语言中函数的分类2.1 库函数2.1.1 如何学会使用库函数? 2.2 自定义函数 3. 函数的参数3.1 实际参数(实参):3.2 形式参数(形参): 4. 函数的调用:4.1 传值调用4…

Spark SQL实战(08)-整合Hive

1 整合原理及使用 Apache Spark 是一个快速、可扩展的分布式计算引擎,而 Hive 则是一个数据仓库工具,它提供了数据存储和查询功能。在 Spark 中使用 Hive 可以提高数据处理和查询的效率。 场景 历史原因积累下来的,很多数据原先是采用Hive…

Node内置模块 【url模块与queryString】

文章目录 🌟前言🌟url 模块🌟 URL各部分说明🌟 将URL字符串转换为对象🌟 将对象格式化为URL字符串:url.format(urlObj)🌟 URL路径处理:url.resolve(from, to) 🌟 querySt…

MySQL-四大类日志

目录 🍁MySQL日志分为4大类 🍁错误日志 🍃修改系统配置 🍁二进制日志 🍃查看二进制日志 🍃删除二进制日志 🍃暂时停止二进制日志的功能 🍁事务日志(或称redo日志) 🍁慢查…

SSM整合、环境配置以及详细综合测试(单表查询、多表查询和数据分页、前后端分离、Vue3)

SSM整合、环境配置以及基础综合测试 准备:创建maven项目以及项目框架准备 SSM整合简介 介绍: SSM(SpringSpringMVCMyBatis) 整合,就是三个框架协同开发。Spring整合Mybatis就是将Mybatis核心配置文件当中数据源的配置、事务处理、以及工厂的配置&…

OpenGL入门教程之 深入三角形

一、引言 本教程使用GLEW和GLFW库。  通过本教程,你能轻松的、深入的理解OpenGL如何绘制一个三角形。  如果你不了解OpenGL是什么,可以阅读OpenGL深入理解。 二、基本函数和语句介绍 通过阅读以下的函数,你的大脑里能留下关于OpenGL基本函…

通过CSIG—走进合合信息探讨生成式AI及文档图像处理的前景和价值

一、前言 最近有幸参加了由中国图象图形学学会(CSIG)主办,合合信息、CSIG文档图像分析与识别专业委员会联合承办的“CSIG企业行——走进合合信息”的分享会,这次活动以“图文智能处理与多场景应用技术展望”为主题,聚…

安全防御第四天:防病毒网关

一、恶意软件 1.按照传播方式分类 (1)病毒 病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出…

尚融宝21-整合springcloud

目录 一、整合注册中心nacos 二、整合openFeign (一)准备工作 (二)导入依赖 (三)接口的远程调用 (四)配置超时控制和日志打印 三、整合Sentinel 四、整合gateway服务网关 …

【Spring从成神到升仙系列 五】从根上剖析 Spring 循环依赖

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙…

基于SpringBoot+Vue家乡特色推荐系统

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精…

【李老师云计算】HBase+Zookeeper部署及Maven访问(HBase集群实验)

索引 前言1. Zookeeper1.1 主机下载Zookeeper安装包1.2 主机解压Zookeeper1.3 ★解决解压后文件缺失1.4 主机配置Zookeeper文件1.4.1 配置zoo_sample.cfg文件1.4.2 配置/data/myid文件 1.5 主机传输Zookeeper文件到从机1.6 从机修改Zookeeper文件1.6.1 修改zoo.cfg文件1.6.2 修…

一文带你了解MySQL的前世今生,架构,组成部分,特点,适用场景

文章目录 一、MySQL的由来二、MySQL的架构2.1 客户端2.2 服务器 三、 MySQL的主要组成部分3.1 连接管理器3.2 查询缓存3.3 解析器3.4 查询优化器3.5 执行器3.6 存储引擎 四、MySQL的特点五、MySQL的应用场景六、总结 一、MySQL的由来 MySQL最初是由瑞典公司MySQL AB的Michael …

4年功能测试,我一进阶python接口自动化测试,跳槽拿了20k......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 很多人在这求职市…

让ChatGPT告诉你Java的发展前景

Java版电商购物系统项目实战 最近很多人问我Java的发展前景怎么样?该怎么学Java基础?java这么卷还该不该学等等。那今天老王以电商场景为例,再结合ChatGPT的回答和大家聊的一下Java有哪些应用前景和技术层面的落地方案。(在收获干…