SQL Server的日志传送

这篇具有很好参考价值的文章主要介绍了SQL Server的日志传送。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

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

日志传送的好处:

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

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

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

日志传送包含三个操作:

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

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

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

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

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

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

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

SQL Server的日志传送

二、相关术语和定义

(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. 将发布数据库与一个或多个订阅数据库同步。这样,您就可以上载以前在发布数据库中所做的更改,但这些更改未在还原的备份中表示。文章来源地址https://www.toymoban.com/news/detail-420269.html

到了这里,关于SQL Server的日志传送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 审核 Microsoft SQL Server 日志

    手动审核数据库活动是一项艰巨的任务,有效完成审计的最佳方法是使用简化和自动化数据库监控的综合解决方案,该解决方案还应使数据库管理员能够监控、跟踪和即时识别任何操作问题的根本原因,并实时检测对机密数据的未经授权的访问。 SQL Server 日志是 Microsoft SQL

    2024年02月07日
    浏览(38)
  • SQL server中:常见问题汇总(如:修改表时不允许修改表结构、将截断字符串或二进制数据等)

    步骤 选择菜单栏中的“工具”-“选项”,在选项对话框左栏中找到“设计器”,在设计器右边取消勾选“阻止保存要求重新创建表的更改”即可。 图例 注意 设计表时,尽量一次性设计成功,避免使用alter修改表,修改起来有各种约束,不容易修改。 解决: 你设置的数据类型

    2024年02月03日
    浏览(41)
  • SQL server数据库日志文件收缩

    收缩数据库日志文件不需要暂停数据库服务,收缩数据库日志文件时,数据库的数据文件和日志文件会重新组织,这会影响到数据库的读写性能,导致读写速度变慢,甚至出现服务器的假死情况。因此,在执行收缩操作时,需要提前做好规划,尽量避免在高峰期进行,同时也

    2024年02月02日
    浏览(35)
  • SQL Server 事务日志文件过大 解决方案

    事务日志文件(Transaction Log File)是用来记录数据库更新情况的文件,扩展名为ldf。当出现以下情况时,就会报“ 事务日志已满 ”的错误: 日志文件没有设置了自动增长,当记录超过初始大小; 日志文件设置了自动增长,“最大文件大小”设置了具体的大小(如2000M),当

    2024年02月10日
    浏览(57)
  • 清理 SQL Server 数据库日志的几种方法

    在 SQL Server 数据库中,日志文件起着记录数据库操作和事务日志的重要作用。然而,随着时间的推移,日志文件可能会变得非常庞大,占用大量磁盘空间。为了解决这个问题,本文将介绍几种清理 SQL Server 数据库日志的方法。 方法一:备份日志并截断 备份数据库日志是清理

    2024年02月05日
    浏览(49)
  • SQL Server 中查看代理作业记录日志的方法有哪些?

    在实际应用中,我们可以通过 Microsoft SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象在 SQL Server 中查看代理作业历史记录日志: 1、打开 Microsoft SQL Server Management Studio,然后点击文件,连接资源对象管理器,连接到 SQL Server 数据库引擎的实例 2、展开该实例,然后展开

    2024年02月04日
    浏览(41)
  • 清除SQL Server数据库日志(ldf文件)的方法汇总

    清除SQL Server数据库日志(ldf文件)的几种方法 随着系统运行时间的推移,数据库日志文件会变得越来越大,这时我们需要对日志文件进行备份或清理。 1. 在SQL管理器分离数据库。 2. 对数据库日志文件进行压缩备份(rar, zip) 3. 直接删除ldf文件。 附加数据库文件成后,查阅本地

    2024年02月11日
    浏览(39)
  • 安装ms sql server2000提示安装失败详见sqlstp.log日志

    目录 安装ms sql server2000提示安装失败详见sqlstp.log日志 一、可能的情况-其它位置不能有对它的引用 1.1、先安装了Delphi其options-环境变量-其中path中有sql,注册表将其清除 1. 2、注册表搜索-Microsoft SQL Server,全部清除 1. 3、删除失败安装的文件夹 二、不同CPU处理器及其对应的

    2024年02月06日
    浏览(42)
  • iptables拒绝所有端口放开特定端口方法流程,iptables允许ping和拒绝ping、hosts阻止所有ip指定放开ip方法流程、脚本检测日志异常并自动执行封堵

    收到下面一封邮件,简单来说就是需要一个虚拟机,外网能ping同,但端口全封,给他们做渗透用。 问了需求 不需要登录,封死所有端口。 所以 就用下面2个方式双重封死。 命令: iptables -P INPUT DROP 【我这就执行了这个进的】 iptables -P FORWARD DROP iptables -P OUTPUT DROP 注:上面执

    2024年02月05日
    浏览(40)
  • SQL Server数据库使用SQL Server代理实现数据库自动备份

    在现实中,为了保证数据的安全和完整,防止人为错误和硬件故障等造成的数据丢失和损坏,就需要用到数据库的备份,不同的数据库方法有所差别,我这边主讲SQL Server数据库的备份和使用SQL Server代理作业实现数据库的定时备份。 目录 一、开启SQL Server代理 1、找到SQL Serv

    2024年02月09日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包