[3种方法] 如何创建 SQL Server 差异备份
2026-07-30
2026-07-30
2026-07-30
2026-07-29
事务日志备份是当前驻留在 SQL Server 数据库事务日志中的所有事务记录的副本。与捕获整个数据库的完整备份不同,日志备份仅记录自上次日志备份以来的更改。
与复制整个数据库的完整备份不同,事务日志备份仅记录对数据所做的”更改”。这使得它们更小、更快,允许您每隔几分钟就运行一次。
在数据库(如 MS SQL Server)中,备份数据库事务日志有两个重要目的:
• 时间点恢复:事务日志按顺序记录对 SQL Server 数据库所做的每项更改(例如插入、更新、删除)。如果没有事务日志备份,您将只能恢复到上次完整备份或差异备份,在发生故障时可能丢失数小时或数天的数据。
因此,这允许管理员将数据库恢复到备份之间的任何特定时间点。一旦数据库遇到数据灾难、人为错误或类似情况,管理员可以轻松地将数据库恢复到故障之前的状态。
• 日志截断:在使用完整或大容量日志恢复模型的数据库中,事务日志文件会随着操作的记录而持续增长。如果不定期备份,它可能会填满磁盘,导致数据库崩溃或性能下降。这是保持文件大小可控的一种方式,对于电子商务或金融系统等高事务环境至关重要。
在本指南中,我们将探讨事务日志备份的黄金标准,包括不可变存储、ZSTD 压缩和 AI 驱动的监控,以确保我们的数据保持韧性和可恢复性。
为了在 2026 年保持韧性的 SQL Server 环境,您的备份策略必须超越简单的调度。现代 DBA 需要关注自动化、网络韧性和性能优化。
事务日志备份应基于完整的 SQL Server 备份。然后您应考虑日志备份的频率。备份频率通常取决于您的业务 RPO(您可以承受的数据丢失量)。
例如,如果您不能接受丢失超过 10 分钟的工作量,则备份间隔应小于 10 分钟。
在这个数据爆炸的世界中,传统的 15 分钟日志备份通常被认为太低。以下是我们的参考建议:
利用 Zstandard (ZSTD) 压缩是 Facebook(现为 Meta)于 2016 年开发的开源压缩算法。它专为实时数据压缩而设计,重点是在保持快速压缩和解压速度的同时实现高压缩比。
ZSTD 现在广泛应用于数据库、备份、日志和大数据系统,因为它能有效减小文件大小而不会造成过多的 CPU 开销。因此建议使用此 ZSTD 压缩来备份 SQL Server 事务日志,尤其是对于生产环境。
优势:与传统的 MS_XPRESS 算法相比,它提供高达 30-50% 更好的压缩率,同时显著降低 CPU 使用率。
您可以在 T-SQL 脚本中使用 WITH COMPRESSION (ALGORITHM = ZSTD) 语法。为了在速度和大小之间取得最佳平衡,对于高频日志备份使用 LEVEL = LOW。
勒索软件是一种恶意软件,它会阻止对计算机系统的访问或加密其文件,或以索要赎金的方式劫持它们。现在它非常普遍,并继续演变为主要的网络安全威胁,攻击频率和复杂性不断增加。勒索软件攻击在过去五年中增长了 13%,44% 的数据泄露事件中存在勒索软件。
因此,请始终为数据库和核心业务制定勒索软件防护策略。使用采用”一次写入,多次读取”(WORM)存储的备份解决方案,这也称为”不可变备份”。一旦写入日志备份,它就不能被勒索软件或其他恶意操作删除或加密。
频繁的日志增长和收缩会导致虚拟日志文件(VLF)碎片化,这会减慢备份和恢复的速度。
在维护窗口期间手动将日志文件增长到实际的最大大小,而不是依赖多个小的”自动增长”事件。
为获得最佳性能,请将 VLF 数量保持在 1000 以下。使用 DBCC LOGINFO 或 DMV sys.dm_db_log_info 监控 VLF 健康状况。
Microsoft 为 SQL Server 事务日志备份提供了一些官方方式。
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:
步骤 5. 设置 Encryption & Compression(Backup Options):
步骤 5. 单击 “OK” 立即运行备份,或单击顶部的 “Script” 生成 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
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 和其他设置。

步骤 4. 单击 “OK” 以激活自动化日志备份脉冲。
虽然上述 T-SQL 和 SQL Server Agent 方法提供了坚实的基础,但在数十或数百个实例中手动管理这些流程可能会引入管理复杂性和人为错误。在当前环境中,采用专业的、自动化的、智能的数据保护是更好的选择。
那么您可以转向 Information2 的 i2Backup。虽然 SQL Server Agent 适用于基本的自动化任务,但 i2Backup 提供了更安全、更便捷的备份方式来增强您的事务日志管理能力。它支持完整备份、增量备份和事务日志备份。
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“,即事务日志备份。

步骤 6. 然后按照提示设置备份目标、计划和其他信息。
您还可以观看演示视频:
问 1:完整备份和事务日志备份有什么区别?
答:将完整备份视为特定时刻整个数据库的完整”快照”。它包含每个数据页和足够的日志以确保恢复时的一致性。而事务日志备份就像一个”增量日记”——它仅记录自上次日志备份以来发生的更改(事务)。
问 2:事务日志备份会影响性能吗?
对于大多数系统来说,性能影响可以忽略不计,尤其是使用 i2Backup 时。
问 3:完整备份会截断事务日志吗?
不会。这是 SQL Server 管理中最常见的误解之一。完整备份(或差异备份)不会截断事务日志或释放 .ldf 文件中的空间。在完整恢复模型中,只有事务日志备份才能触发截断。如果您只运行完整备份,您的日志文件将继续增长,直到耗尽整个磁盘。
问 4:如果我有最近的差异备份,可以跳过日志备份吗?
不可以。日志备份对于维护”日志链”是必需的。如果您在序列中错过或丢失了一个日志备份,您将无法恢复任何后续的日志备份。差异备份可以通过”跳过”应用数十个日志文件的需求来帮助加快恢复过程,但它们不能取代持续日志链对时间点恢复的需求。
事务日志备份对于数据库管理和保护非常重要。我希望这篇文章能帮助您建立有用的数据库保护策略。为了更轻松地操作,您可以直接尝试 英方软件 的 i2Backup。这是一个统一的、强大的备份解决方案,适用于 MS SQL Server、Oracle、MongoDB 和许多其他数据库。
公告
邮件
销售