备份事务日志 (SQL Server)

本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 在 SQL Server 2014 中备份事务日志。

本主题内容

在您开始之前

局限性与限制

  • 不允许在显式或隐式事务中使用 BACKUP 语句。

建议

  • 如果数据库使用完整或大容量日志恢复模式,则必须定期备份事务日志,以保护数据并防止事务日志填充。 这会截断日志,并支持将数据库还原到特定的时间点。

  • 默认情况下,每个成功的备份操作都会在 SQL Server 错误日志和系统事件日志中添加一个条目。 如果非常频繁地备份日志,这些成功消息会迅速累积,从而导致大量错误日志,这会使查找其他消息变得困难。 在这种情况下,如果没有脚本依赖于这些条目,则可以使用跟踪标志 3226 来禁止这些日志条目。 有关详细信息,请参阅跟踪标志 (Transact-SQL)

安全

权限

默认情况下,为 sysadmin 固定服务器角色以及 db_ownerdb_backupoperator 固定数据库角色的成员授予 BACKUP DATABASE 和 BACKUP LOG 权限。

备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。 SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。 但是,用于在系统表中为备份设备添加项目的 sp_addumpdevice不检查文件访问权限。 在进行备份或还原尝试时,只有访问物理资源时,备份设备的物理文件上才可能会出现此类问题。

使用 SQL Server Management Studio

备份事务日志

  1. 连接到相应的 SQL Server 数据库引擎实例之后,在对象资源管理器中单击服务器名称以展开服务器树。

  2. 展开 “数据库”,然后根据数据库的不同,选择用户数据库,或展开 “系统数据库” ,再选择系统数据库。

  3. 右键单击数据库,指向 “任务”,然后单击“ 备份”。 将出现 “备份数据库” 对话框。

  4. “数据库” 列表框中,验证数据库名称。 您也可以从列表中选择其他数据库。

  5. 验证恢复模式是 FULL 还是 BULK_LOGGED

  6. “备份类型 ”列表框中,选择 “事务日志”。

  7. 还可以根据需要选择 “仅复制备份”创建仅复制备份。 仅复制备份是独立于传统 SQL Server 备份序列的 SQL Server 备份。 有关详细信息,请参阅 Copy-Only 备份(SQL Server)。

    注释

    选择 差异 选项后,无法创建仅复制备份。

  8. 可以接受 “名称” 文本框中建议的默认备份集名称,也可以为备份集输入其他名称。

  9. 或者,在 “说明” 文本框中,输入备份集的说明。

  10. 指定备份集何时过期:

    • 若要使备份集在特定天数后过期,请单击“”(默认选项),并输入设置创建后备份集过期的天数。 此值可以是 0 到 99999 天;值为 0 天意味着备份集永远不会过期。

      “服务器属性”对话框(“数据库设置”页)的默认备份介质保留(以天为单位)选项中设置默认值。 若要访问此对话框,请在对象资源管理器中右键单击服务器名称并选择属性;然后选择“ 数据库设置” 页。

    • 若要使备份集在特定日期过期,请单击 “打开”,然后输入该集到期的日期。

  11. 单击 “磁盘”、“ URL ”或 “磁带”选择备份目标的类型。 若要选择最多包含单个介质集的 64 个磁盘或磁带驱动器的路径,请单击“ 添加”。 选择的路径将显示在 “备份到” 列表框中。

    若要删除备份目标,请选择它并单击“ 删除”。 若要查看备份目标的内容,请选择它并单击 “内容”。

  12. 若要查看或选择高级选项,请单击“选择页面”窗格中的选项

  13. 选择一个覆盖媒体选项,方法是单击以下任一选项:

    • 备份到现有媒体集

      对于此选项,请单击“ 追加到现有备份集 ”或 “覆盖所有现有备份集”。 有关详细信息,请参阅媒体集、媒体系列和备份集(SQL Server)。

      (可选)选择“检查介质集名称和备份集过期”,以便备份操作验证介质集和备份集过期的日期和时间。

      (可选)在 “媒体集名称 ”文本框中输入名称。 如果未指定名称,则会创建一个具有空白名称的媒体集。 如果指定媒体集名称,则会检查介质(磁带或磁盘),以查看实际名称是否与此处输入的名称匹配。

      如果将媒体名称留空并选中该框以针对媒体进行检查,则成功将等于媒体上的媒体名称也为空白。

    • 备份到新的媒体集,并清除所有现有备份集

      对于此选项,请在 “新建媒体集名称 ”文本框中输入一个名称,并且(可选)在 “新建媒体集说明 ”文本框中描述媒体集。 有关详细信息,请参阅媒体集、媒体系列和备份集(SQL Server)。

  14. “可靠性 ”部分,(可选)检查:

  15. “事务日志 ”部分中:

    • 对于例程日志备份,请保留默认选择, 通过删除非活动条目来截断事务日志

    • 若要备份日志的结尾(即活动日志),请检查 备份日志的结尾,并使数据库保持还原状态

      在无法备份日志尾部后执行结尾日志备份,以防止工作丢失。 在发生故障后、开始还原数据库之前,或故障转移到辅助数据库时,备份活动日志(结尾日志备份)。 选择此选项等效于在 Transact-SQL 的 BACKUP LOG 语句中指定 NORECOVERY 选项。 有关结尾日志备份的详细信息,请参阅 Tail-Log 备份(SQL Server)。

  16. 如果备份到磁带驱动器(在“常规”页的“目标”部分中指定),则“备份后卸载磁带”选项是激活的。 单击此选项将激活卸载前倒带磁带选项。

  17. SQL Server 2008 Enterprise 及更高版本支持 备份压缩。 默认情况下,是否压缩备份取决于 备份压缩默认 服务器配置选项的值。 但是,无论当前的服务器级别默认值如何,都可以通过检查 压缩备份来压缩备份,并且可以通过检查 “不压缩备份”来阻止压缩。

    查看当前备份压缩默认值

加密

若要加密备份文件,请选中“ 加密备份 ”复选框。 选择用于加密备份文件的加密算法,并提供证书或非对称密钥。 加密的可用算法包括:

  • AES 128

  • AES 192

  • AES 256

  • 三重 DES

使用 Transact-SQL

备份事务日志

  1. 执行 BACKUP LOG 语句来备份事务日志,并指定以下内容:

    • 要备份的事务日志所属的数据库的名称。

    • 写入事务日志备份的备份设备。

示例 (Transact-SQL)

重要

此示例使用 AdventureWorks2012 数据库,该数据库使用简单的恢复模式。 若要允许日志备份,在进行完整数据库备份之前,该数据库设置为使用完整恢复模式。 有关详细信息,请参阅 查看或更改数据库(SQL Server)的恢复模式

本示例为 AdventureWorks2012 数据库创建事务日志备份,以备份以前创建的命名备份设备。 MyAdvWorks_FullRM_log1

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1;  
GO  

使用 PowerShell

使用 Backup-SqlDatabase cmdlet 并为 Log 指定 -BackupAction 参数的值。

以下示例将数据库的日志备份 MyDB 创建到服务器实例 Computer\Instance的默认备份位置。

```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log  
```  

若要设置和使用 SQL Server PowerShell 提供程序,请参阅 SQL Server PowerShell 提供程序

相关任务

另请参阅

BACKUP (Transact-SQL)
应用事务日志备份 (SQL Server)
维护计划
完整文件备份 (SQL Server)