本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 在 SQL Server 2014 中备份事务日志。
本主题内容
准备工作:
若要备份事务日志,请使用:
注释
或者,可以使用维护计划向导创建备份。
在您开始之前
局限性与限制
- 不允许在显式或隐式事务中使用 BACKUP 语句。
建议
如果数据库使用完整或大容量日志恢复模式,则必须定期备份事务日志,以保护数据并防止事务日志填充。 这会截断日志,并支持将数据库还原到特定的时间点。
默认情况下,每个成功的备份操作都会在 SQL Server 错误日志和系统事件日志中添加一个条目。 如果非常频繁地备份日志,这些成功消息会迅速累积,从而导致大量错误日志,这会使查找其他消息变得困难。 在这种情况下,如果没有脚本依赖于这些条目,则可以使用跟踪标志 3226 来禁止这些日志条目。 有关详细信息,请参阅跟踪标志 (Transact-SQL)。
安全
权限
默认情况下,为 sysadmin 固定服务器角色以及 db_owner 和 db_backupoperator 固定数据库角色的成员授予 BACKUP DATABASE 和 BACKUP LOG 权限。
备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。 SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。 但是,用于在系统表中为备份设备添加项目的 sp_addumpdevice不检查文件访问权限。 在进行备份或还原尝试时,只有访问物理资源时,备份设备的物理文件上才可能会出现此类问题。
使用 SQL Server Management Studio
备份事务日志
连接到相应的 SQL Server 数据库引擎实例之后,在对象资源管理器中单击服务器名称以展开服务器树。
展开 “数据库”,然后根据数据库的不同,选择用户数据库,或展开 “系统数据库” ,再选择系统数据库。
右键单击数据库,指向 “任务”,然后单击“ 备份”。 将出现 “备份数据库” 对话框。
在 “数据库” 列表框中,验证数据库名称。 您也可以从列表中选择其他数据库。
验证恢复模式是 FULL 还是 BULK_LOGGED。
在 “备份类型 ”列表框中,选择 “事务日志”。
还可以根据需要选择 “仅复制备份”创建仅复制备份。 仅复制备份是独立于传统 SQL Server 备份序列的 SQL Server 备份。 有关详细信息,请参阅 Copy-Only 备份(SQL Server)。
注释
选择 差异 选项后,无法创建仅复制备份。
可以接受 “名称” 文本框中建议的默认备份集名称,也可以为备份集输入其他名称。
或者,在 “说明” 文本框中,输入备份集的说明。
指定备份集何时过期:
若要使备份集在特定天数后过期,请单击“后”(默认选项),并输入设置创建后备份集过期的天数。 此值可以是 0 到 99999 天;值为 0 天意味着备份集永远不会过期。
在“服务器属性”对话框(“数据库设置”页)的默认备份介质保留(以天为单位)选项中设置默认值。 若要访问此对话框,请在对象资源管理器中右键单击服务器名称并选择属性;然后选择“ 数据库设置” 页。
若要使备份集在特定日期过期,请单击 “打开”,然后输入该集到期的日期。
单击 “磁盘”、“ URL ”或 “磁带”选择备份目标的类型。 若要选择最多包含单个介质集的 64 个磁盘或磁带驱动器的路径,请单击“ 添加”。 选择的路径将显示在 “备份到” 列表框中。
若要删除备份目标,请选择它并单击“ 删除”。 若要查看备份目标的内容,请选择它并单击 “内容”。
若要查看或选择高级选项,请单击“选择页面”窗格中的选项。
选择一个覆盖媒体选项,方法是单击以下任一选项:
备份到现有媒体集
对于此选项,请单击“ 追加到现有备份集 ”或 “覆盖所有现有备份集”。 有关详细信息,请参阅媒体集、媒体系列和备份集(SQL Server)。
(可选)选择“检查介质集名称和备份集过期”,以便备份操作验证介质集和备份集过期的日期和时间。
(可选)在 “媒体集名称 ”文本框中输入名称。 如果未指定名称,则会创建一个具有空白名称的媒体集。 如果指定媒体集名称,则会检查介质(磁带或磁盘),以查看实际名称是否与此处输入的名称匹配。
如果将媒体名称留空并选中该框以针对媒体进行检查,则成功将等于媒体上的媒体名称也为空白。
备份到新的媒体集,并清除所有现有备份集
对于此选项,请在 “新建媒体集名称 ”文本框中输入一个名称,并且(可选)在 “新建媒体集说明 ”文本框中描述媒体集。 有关详细信息,请参阅媒体集、媒体系列和备份集(SQL Server)。
在 “可靠性 ”部分,(可选)检查:
完成后验证备份。
在写入媒体之前执行校验和,可选的情况下,在校验和错误时继续操作。 有关校验和的信息,请参阅备份和还原期间可能的媒体错误(SQL Server)。
在 “事务日志 ”部分中:
对于例程日志备份,请保留默认选择, 通过删除非活动条目来截断事务日志。
若要备份日志的结尾(即活动日志),请检查 备份日志的结尾,并使数据库保持还原状态。
在无法备份日志尾部后执行结尾日志备份,以防止工作丢失。 在发生故障后、开始还原数据库之前,或故障转移到辅助数据库时,备份活动日志(结尾日志备份)。 选择此选项等效于在 Transact-SQL 的 BACKUP LOG 语句中指定 NORECOVERY 选项。 有关结尾日志备份的详细信息,请参阅 Tail-Log 备份(SQL Server)。
如果备份到磁带驱动器(在“常规”页的“目标”部分中指定),则“备份后卸载磁带”选项是激活的。 单击此选项将激活卸载前倒带磁带选项。
SQL Server 2008 Enterprise 及更高版本支持 备份压缩。 默认情况下,是否压缩备份取决于 备份压缩默认 服务器配置选项的值。 但是,无论当前的服务器级别默认值如何,都可以通过检查 压缩备份来压缩备份,并且可以通过检查 “不压缩备份”来阻止压缩。
查看当前备份压缩默认值
加密
若要加密备份文件,请选中“ 加密备份 ”复选框。 选择用于加密备份文件的加密算法,并提供证书或非对称密钥。 加密的可用算法包括:
AES 128
AES 192
AES 256
三重 DES
使用 Transact-SQL
备份事务日志
执行 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)