sql server 高可用日志传送

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 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
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
2月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
11天前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
12天前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
2月前
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
91 0
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
44 0
|
2月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
82 0
|
2月前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
2月前
|
SQL 缓存 Java
如何在 Hibernate 中启用 SQL 日志记录?
【8月更文挑战第21天】
88 0