什么是事务日志备份?

事务日志备份是当前驻留在 SQL Server 数据库事务日志中的所有事务记录的副本。与捕获整个数据库的完整备份不同,日志备份仅记录自上次日志备份以来的更改。

与复制整个数据库的完整备份不同,事务日志备份仅记录对数据所做的”更改”。这使得它们更小、更快,允许您每隔几分钟就运行一次。

为什么需要事务日志备份?

在数据库(如 MS SQL Server)中,备份数据库事务日志有两个重要目的:

时间点恢复:事务日志按顺序记录对 SQL Server 数据库所做的每项更改(例如插入、更新、删除)。如果没有事务日志备份,您将只能恢复到上次完整备份或差异备份,在发生故障时可能丢失数小时或数天的数据。

因此,这允许管理员将数据库恢复到备份之间的任何特定时间点。一旦数据库遇到数据灾难、人为错误或类似情况,管理员可以轻松地将数据库恢复到故障之前的状态。

日志截断:在使用完整或大容量日志恢复模型的数据库中,事务日志文件会随着操作的记录而持续增长。如果不定期备份,它可能会填满磁盘,导致数据库崩溃或性能下降。这是保持文件大小可控的一种方式,对于电子商务或金融系统等高事务环境至关重要。

在本指南中,我们将探讨事务日志备份的黄金标准,包括不可变存储、ZSTD 压缩和 AI 驱动的监控,以确保我们的数据保持韧性和可恢复性。

提示:其他数据库平台将事务日志存储在不同的文件中。本指南也适用于 PostgreSQL Redo 日志备份、PostgreSQL WAL 备份、MongoDB Journal 备份及其他类似场景。

2026 年 SQL Server 事务日志备份最佳实践

为了在 2026 年保持韧性的 SQL Server 环境,您的备份策略必须超越简单的调度。现代 DBA 需要关注自动化、网络韧性和性能优化。

1. 更频繁地进行事务日志备份

事务日志备份应基于完整的 SQL Server 备份。然后您应考虑日志备份的频率。备份频率通常取决于您的业务 RPO(您可以承受的数据丢失量)。

例如,如果您不能接受丢失超过 10 分钟的工作量,则备份间隔应小于 10 分钟。

在这个数据爆炸的世界中,传统的 15 分钟日志备份通常被认为太低。以下是我们的参考建议:

  • 关键任务业务:目标为每 1 到 5 分钟进行一次日志备份。这使您的恢复点目标(RPO)接近零,并防止在高事务期间日志大量增长。
  • 一般用途:对于优先级较低的数据库,15 分钟的间隔仍然是一个可靠的基准。

2. 利用 Zstandard (ZSTD) 压缩

利用 Zstandard (ZSTD) 压缩是 Facebook(现为 Meta)于 2016 年开发的开源压缩算法。它专为实时数据压缩而设计,重点是在保持快速压缩和解压速度的同时实现高压缩比。

ZSTD 现在广泛应用于数据库、备份、日志和大数据系统,因为它能有效减小文件大小而不会造成过多的 CPU 开销。因此建议使用此 ZSTD 压缩来备份 SQL Server 事务日志,尤其是对于生产环境。

优势:与传统的 MS_XPRESS 算法相比,它提供高达 30-50% 更好的压缩率,同时显著降低 CPU 使用率。

您可以在 T-SQL 脚本中使用 WITH COMPRESSION (ALGORITHM = ZSTD) 语法。为了在速度和大小之间取得最佳平衡,对于高频日志备份使用 LEVEL = LOW

3. 实施不可变存储和勒索软件防护

勒索软件是一种恶意软件,它会阻止对计算机系统的访问或加密其文件,或以索要赎金的方式劫持它们。现在它非常普遍,并继续演变为主要的网络安全威胁,攻击频率和复杂性不断增加。勒索软件攻击在过去五年中增长了 13%,44% 的数据泄露事件中存在勒索软件。

因此,请始终为数据库和核心业务制定勒索软件防护策略。使用采用”一次写入,多次读取”(WORM)存储的备份解决方案,这也称为”不可变备份”。一旦写入日志备份,它就不能被勒索软件或其他恶意操作删除或加密。

4. 监控 VL 碎片化

频繁的日志增长和收缩会导致虚拟日志文件(VLF)碎片化,这会减慢备份和恢复的速度。

在维护窗口期间手动将日志文件增长到实际的最大大小,而不是依赖多个小的”自动增长”事件。

为获得最佳性能,请将 VLF 数量保持在 1000 以下。使用 DBCC LOGINFO 或 DMV sys.dm_db_log_info 监控 VLF 健康状况。

使用官方工具进行 SQL Server 事务日志备份

Microsoft 为 SQL Server 事务日志备份提供了一些官方方式。

前提条件:在您进行日志备份之前,您的数据库必须处于完整或大容量日志恢复模型:
在 SSMS 中右键单击数据库 > “Properties”。
转到 “Options” 页面。
将 “Recovery model” 设置为 “Full”。

1. 使用 SSMS 创建备份任务

Microsoft SQL Server Management Studio 是一个 SQL Server 管理工具,提供 SQL Server 备份 功能。

步骤 1. 右键单击所需数据库,选择 “Tasks“,然后单击 “Back Up…“。

步骤 2. 在 Backup type 下拉菜单中,选择 “Transaction Log“。

步骤 3. 在 Destination 部分下,单击 “Add…” 指定文件路径和名称(例如 C:\Backups\MyDatabase_Log.trn)。

步骤 4. 然后配置 Media Options:

  • 转到 “Media Options” 页面。
  • 选择 “Verify backup when finished” 和 “Perform checksum before writing to media” 以确保数据完整性。

步骤 5. 设置 Encryption & Compression(Backup Options):

  • 转到 Backup Options 页面。
  • Encryption:勾选 Encrypt backup,选择 AES 256,然后选择您的服务器证书。

步骤 5. 单击 “OK” 立即运行备份,或单击顶部的 “Script” 生成 T-SQL 命令以供以后使用。

2. 使用 T-SQL 脚本

对于自动化和精确性,T-SQL 是首选方法。此脚本融入了最新的加密和压缩标准。

BACKUP LOG [YourDatabaseName]

TO DISK = N’C:\Backups\YourDatabase_Log_Current.trn’

WITH

    — 2026 高性能压缩

    COMPRESSION (ALGORITHM = ZSTD, LEVEL = LOW),

    — 安全性(需要预先存在的证书)

    ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = LogBackupCert2026),

    — 维护最佳实践

    STATS = 10,       — 每 10% 显示进度

    CHECKSUM,         — 确保日志未损坏

    INIT;             — 覆盖文件(或省略以追加)

GO

3. 通过 SQL Server Agent 自动化调度

SQL Server Agent 是 SQL 数据库专用的 Microsoft Windows 服务。它帮助您的脚本每隔几分钟运行一次,无需人工干预。

步骤 1. 在 SSMS 中,展开 “SQL Server Agent”,右键单击 “Jobs” > “New Job“。

步骤 2. 在 Steps 选项卡下,单击 “New“。为其命名,并将步骤 2 中的 T-SQL 脚本粘贴到 Command 框中。

步骤 3. 在 Schedules 选项卡下,单击 “New“。设置 Occurs、Recurs、Daily frequency 和其他设置。

使用 sql server agent 备份 sql server

步骤 4. 单击 “OK” 以激活自动化日志备份脉冲。

统一、自动化的数据库备份解决方案 – i2Backup

虽然上述 T-SQL 和 SQL Server Agent 方法提供了坚实的基础,但在数十或数百个实例中手动管理这些流程可能会引入管理复杂性和人为错误。在当前环境中,采用专业的、自动化的、智能的数据保护是更好的选择。

那么您可以转向 Information2 的 i2Backup。虽然 SQL Server Agent 适用于基本的自动化任务,但 i2Backup 提供了更安全、更便捷的备份方式来增强您的事务日志管理能力。它支持完整备份、增量备份和事务日志备份。

i2Backup 的主要优势

  • 图形化管理:i2Backup 提供图形化管理界面,允许管理员轻松管理和执行 SQL Server 备份和恢复操作,并定义统一的备份策略。
  • 灵活的备份策略:它支持多种备份方式,包括完整备份、增量备份和日志备份,允许用户根据实际需求灵活选择适当的备份策略,以确保数据的安全性和完整性。
  • 勒索软件防护:轻松设置不可变备份,以保护关键数据免受恶意修改和删除。
  • 高效的数据恢复:i2Backup 不仅支持 SQL Server 数据库的完整恢复,还支持基于归档日志的时间点恢复。这意味着即使数据丢失或损坏,也可以快速准确地恢复到指定的时间点,最大限度地减少业务停机时间。
  • 优化的性能:支持数据去重、压缩、带宽控制、多任务并发存储等,以高效备份事务日志而不影响生产环境。
  • 易于扩展:随着业务的增长,i2Backup 支持平滑扩展。无论是增加备份节点还是增加存储容量,都能轻松应对不断增长的数据保护需求。

如何使用 i2Backup 备份 SQL Server 事务日志

步骤 1. 首先,确保您已安装并配置了 i2Backup 软件。您可以联系 Information2 的支持团队获取详细的配置指南。

步骤 2. 转到 “Source” > “Database“。并配置 SQL Server 数据库。

步骤 3. 单击左侧窗格中的 Backup & Restore。单击 “App protect” > “Backup Rule“。单击 “New“。

步骤 4. 输入规则名称,选择 “SQL Server” 作为 Rule Type。并按照说明输入其他信息。

 

步骤 5. 在 Backup Schedule 步骤中,单击 “New” 按钮。输入名称并选择 “Log Backup“,即事务日志备份。

使用 i2backup 备份 sql

步骤 6. 然后按照提示设置备份目标、计划和其他信息。

您还可以观看演示视频:

关于 SQL Server 事务日志备份的常见问题

问 1:完整备份和事务日志备份有什么区别?

答:将完整备份视为特定时刻整个数据库的完整”快照”。它包含每个数据页和足够的日志以确保恢复时的一致性。而事务日志备份就像一个”增量日记”——它仅记录自上次日志备份以来发生的更改(事务)。

  • 完整备份:大、慢,捕获整个数据库。
  • 日志备份:小、快,仅捕获最近的更改以支持时间点恢复。

问 2:事务日志备份会影响性能吗?

对于大多数系统来说,性能影响可以忽略不计,尤其是使用 i2Backup 时。

  • I/O 影响:由于日志备份是顺序读取,它们非常高效。但是,如果您的备份驱动器与数据驱动器相同,可能会出现争用。
  • CPU 影响:压缩确实会使用一些 CPU 周期,但现代多核处理器可以轻松处理。
  • “专业”做法:为了消除对主要生产用户的任何影响,将您的日志备份卸载到 Always On 可用性组中的辅助副本。

问 3:完整备份会截断事务日志吗?

不会。这是 SQL Server 管理中最常见的误解之一。完整备份(或差异备份)不会截断事务日志或释放 .ldf 文件中的空间。在完整恢复模型中,只有事务日志备份才能触发截断。如果您只运行完整备份,您的日志文件将继续增长,直到耗尽整个磁盘。

问 4:如果我有最近的差异备份,可以跳过日志备份吗?

不可以。日志备份对于维护”日志链”是必需的。如果您在序列中错过或丢失了一个日志备份,您将无法恢复任何后续的日志备份。差异备份可以通过”跳过”应用数十个日志文件的需求来帮助加快恢复过程,但它们不能取代持续日志链对时间点恢复的需求。

结论

事务日志备份对于数据库管理和保护非常重要。我希望这篇文章能帮助您建立有用的数据库保护策略。为了更轻松地操作,您可以直接尝试 英方软件 的 i2Backup。这是一个统一的、强大的备份解决方案,适用于 MS SQL Server、Oracle、MongoDB 和许多其他数据库。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1