SQL Server 事务日志传输

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介:
2014-04-17 16:56 by pursuer.chen, 1859 阅读, 0 评论, 收藏, 编辑

概述

       可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库)。不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本保持同步。目标服务器充当备份服务器,并可以将查询处理从主服务器重新分配到一个或多个只读的辅助服务器。日志传送可与使用完整或大容量日志恢复模式的数据库一起使用;使用日志传送,您可以自动将“主服务器”实例上“主数据库”内的事务日志备份发送到单独“辅助服务器”实例上的一个或多个“辅助数据库”。事务日志备份分别应用于每个辅助数据库。可选的第三个服务器实例(称为“监视服务器”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报

操作组成

  1. 在主服务器实例中备份事务日志。
  2. 将事务日志文件复制到辅助服务器实例。
  3. 在辅助服务器实例中还原日志备份。

主服务器和数据库

日志传送配置中的主服务器是作为生产服务器的 SQL Server 数据库引擎实例。主数据库是主服务器上希望备份到其他服务器的数据库。通过 SQL Server Management Studio 进行的所有日志传送配置管理都是在主数据库中执行的。

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

辅助服务器和数据库

日志传送配置中的辅助服务器是您想要在其中保留主数据库备用副本的服务器。一台辅助服务器可以包含多台不同主服务器中数据库的备份副本。例如,某个部门可能有五台服务器,每台服务器都运行关键数据库系统。在这种情况下,可以只使用一台辅助服务器,而不必使用五台单独的辅助服务器。五个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量并节省开支。不太可能出现多个主系统同时发生故障的情况。另外,为了应对多个主系统同时不可用的罕见情况,辅助服务器的规格可以比各主服务器高。

辅助数据库必须通过还原主数据库的完整备份的方法进行初始化。还原时可以使用 NORECOVERY 或 STANDBY 选项。这可以手动或通过 SQL Server Management Studio 实现。

监视服务器

监视服务器是可选的,它可以跟踪日志传送的所有细节,包括:

    • 主数据库中事务日志最近一次备份的时间。
    • 辅助服务器最近一次复制和还原备份文件的时间。
    • 有关任何备份失败警报的信息。

监视服务器应独立于主服务器和辅助服务器,以避免由于主服务器或辅助服务器的丢失而丢失关键信息和中断监视。一台监视服务器可以监视多个日志传送配置。在这种情况下,使用该监视服务器的所有日志传送配置将共享一个警报作业。

 

 步骤方法

 在配置数据库之前首先要将主数据库进行一个完整备份,然后在辅助服务器上进行还原,还原脚本如下,注意保持数据库为正在还原状态(norecovery)

复制代码
RESTORE DATABASE [test] FROM  DISK = N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test.bak' WITH  FILE = 1,  
MOVE N'test' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test.mdf',  
MOVE N'test_log' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test_1.ldf',  
NORECOVERY,  NOUNLOAD,  STATS = 10
复制代码

 

1.配置主数据库

选择需要进行日志传输的数据库,鼠标右键属性-事务日志传输-勾选"将此数据库启用为日志传输配置中的主数据库"

 

点击“备份设置”,此过程也就是创建一个主数据库的备份计划(LsBack_test123),在这里之前你要在本机创建一个用于存放主数据库的备份文件夹,同时你要将这个文件夹设共享,供辅助服务器访问,文件夹权限设为everyone可读写,最后添加一个来宾组的读取权限,配置如下,同时你也可以对备份作业进行备份时间计划,这个计划具体根据备份需求

备份计划

配置主数据库要注意的地方主要就是共享文件夹的读写权限问题。

2.配置辅助服务器和数据库

点击添加添加辅助数据库

 

连接辅助服务器(我这里是做为测试连接的是本地服务器,实际是需要连接辅助服务器)

选择复制文件(该步骤会创建一个复制计划“LSCopy_C-3A89048AF8DF4_test123”,将刚才主数据库的日志备份文件复制到辅助服务器中设定的文件夹中)

首先要在辅助服务器(假如是:192.168.1.3)上建立一个共享文件夹,该文件夹权限需要可以读写,可以设置为everyone可以读写权限

该步骤计划的计划实际可以设置为最短时间也就是主数据库备份完成立刻复制

还原事务日志(该步骤会创建一个还原计划“LSRestore_C-3A89048AF8DF4_test123”,将拷贝过来的日志文件在辅助服务器上进行还原,同时可以选择数据库状态是否截断用户连接)

同样还原计划时间可以间隔可以设置的比较短,可以第一时间还原备份

整个辅助服务器就配置完成了,这样同样容易出现的问题就是辅助服务器文件夹的共享问题,会出现拷贝不了的问题

3.监视服务器配置

监视服务器不是必须的选项也就是可以不进行配置,此过程就是创建一个监视作业(警报作业)“LSAlert_C-3A89048AF8DF4”

 

 总结

       事务日志传输与跟复制订阅相比:事务日志传输操作更简单而复制订阅更具体;

       事务日志传输与跟数据库镜像相比:事务日志传输比数据库镜像的成本低,事务日志传输也可以在单数据库实例上进行,

  状态图:

 





本文转自pursuer.chen(陈敏华)博客园博客,原文链接:http://www.cnblogs.com/chenmh/p/3671030.html,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
12天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1576 12
|
11天前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
1月前
|
SQL 存储 缓存
高基数 GroupBy 在 SLS SQL 中的查询加速
本文详细介绍了SLS中的高基数GroupBy查询加速技术。
|
13天前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
1月前
|
SQL 存储 监控
SQLServer事务复制延迟优化之并行(多线程)复制
【9月更文挑战第12天】在SQL Server中,事务复制延迟会影响数据同步性。并行复制可通过多线程处理优化这一问题,提高复制效率。主要优化方法包括:配置分发代理参数、优化网络带宽、调整系统资源、优化数据库设计及定期监控维护。合理实施这些措施可提升数据同步的及时性和可靠性。
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
91 0
|
2月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
95 0
|
1月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
95 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
1月前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
28 4
|
1月前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
48 11