sql server 高可用日志传送

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
日志服务 SLS,月写入数据量 50GB 1个月
简介: 原文:sql server 高可用日志传送一. 日志传送概述     SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上。可选的监视服务器,记录备份和还原操作的历史记录及状态。
原文: sql server 高可用日志传送

一. 日志传送概述

    SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上。
可选的监视服务器,记录备份和还原操作的历史记录及状态。

优点
  提供灾难恢复解决方案
  支持对辅助数据库的受限的只读访问权限
  允许用户定义日志发送的延迟时间(如果主数据库上的数据被意外更改,则较长的延迟会很有用)

术语和定义
  备份作业
    主服务器的代理作业,它执行备份操作,将事务日志记录到本地服务器和监视服务器,删除旧的记录。
  复制作业
    主服务器的代理作业,它将备份文件从主服务器复制到辅助服务器上,在辅助服务器和监视服务器上记录。
  还原作业
    辅助服务器的代理作业,备份文件还原到辅助数据库,在本地服务器和监视服务器上记录,删除旧文件。
.
          针对多个辅助服务器时,要重复执行复制作业和还原作业。

二. 准备工作

             同一台服务数据库二个实例 (可以是局域网内的多个服务器)

                            主数据库sqlserver 2012 r2  MSSQLSERVERTWO

                            辅助数据库sqlserver 2012 r2   MSSQLSERVER

           

               演示库  LogShipping_Test,  主和辅相同的库,相同的表结构和数据。  相同的sql 登录名, 密码

   三. 配置日志传送       

--步骤1:设置主服务器恢复模式为完全备份
ALTER DATABASE LogShipping_Test SET RECOVERY FULL
--步骤2:主服务数据库做一次完全备份
BACKUP DATABASE LogShipping_Test TO  DISK='D:\LogShipping\LogShipping_Test.bak' WITH NOFORMAT,INIT

    -- 步骤3:

       在主服务器上建立共享目录C:\LogShipping\primary   具有作业访问权限

       在辅助服务器上建立共享目录C:\LogShipping\secondary 具有作业访问权限

       

        

         

   ---步骤4:

          主服务器LogShipping_Test库-->属性-->任务-->传送事务日志将主服务器和辅助数据库配置成功后,设置复制和还原每隔两分钟做一次传送如下图

          

         日志传送配置成功后:辅助数据库标识为(备用/只读)如下图

       

       

         主数据库SQL Server代理作业如下图:

               备份作业(LSBackup_LogShipping_Test)

                警告作业(LSAlert_{计算机名})

        辅助数据库SQL Server代理作业如下图

                复制作业(LSCopy_{计算机名}_LogShipping_Test)

                还原作业(LSRestore_{计算机名}_LogShipping_Test)

                警告作业(LSAlert_{计算机名}\MSSQLSERVERTWO)

           

            

         主服务器隔2分钟备份的文件共享目录如下图

            

        辅助服务器隔2分钟复制的文件共享目录如下图

          

 

最后:查看日志传送是否正确无误

     利用可视化操作在SQL Server代理作业中查看日志传送是否正常

     通过SQL查询,看日志传送是否运行正常

   --(主数据库查询)
        exec  master..sp_help_log_shipping_monitor  
        exec  master..sp_help_log_shipping_primary_database 'LogShipping_Test'
    --(辅助数据库查询)
        exec  master..sp_help_log_shipping_secondary_database 'LogShipping_Test'

 

四.  主从数据库手动切换配置

    步骤1:在主数据库,使之处于正在还原

  use master
        Backup log [LogShipping_Test] to disk = 'c:\LogShipping\LogShipping_Test1.bak' with NORECOVERY 

            --手动运行辅助数据库上的复制和还原作业(快速复制还原到从表)
            --手动将主数据库上的备份和警告作业禁用掉(停止备份)

          步骤2:在辅助数据库上,使用步骤的备件文件还原
  

use master
Restore log [LogShipping_Test] from disk ='c:\LogShipping\LogShipping_Test1.bak' with RECOVERY 

       将以前备份和复制所在文件夹的数据删除掉(D:\LogShipping\primary,D:\LogShipping\secondary )
       重新配置日志传送,在辅助数据库上(LogShipping_Test库-->属性-->任务-->传送事务日志将主服务器和辅助数据库配置成功后)使辅助数据库之变成主数据库
       将原来主数据库的日志传送删除(LogShipping_Test库-->属性-->任务-->传送事务日志,将勾选去掉确定).

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
5月前
|
SQL 存储 缓存
高基数 GroupBy 在 SLS SQL 中的查询加速
本文详细介绍了SLS中的高基数GroupBy查询加速技术。
165 21
|
4月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
4月前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
5月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
263 0
|
6月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
80 0
|
6月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
322 0
|
6月前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
102 0
|
6月前
|
SQL 缓存 Java
如何在 Hibernate 中启用 SQL 日志记录?
【8月更文挑战第21天】
209 0
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
932 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板