完整数据库备份 (SQL Server)

适用于: SQL Server(所有受支持的版本)

完整数据库备份可对整个数据库进行备份。 这包括对部分事务日志进行备份,以便在还原完整数据库备份之后,能够恢复完整数据库备份。 完整数据库备份表示备份完成时的数据库。

提示

随着数据库不断增大,完整备份需花费更多时间才能完成,并且需要更多的存储空间。 因此,对于大型数据库而言,您可以用一系列“差异数据库备份” 来补充完整数据库备份。 有关详细信息,请参阅差异备份 (SQL Server)

重要

针对数据库备份,TRUSTWORTHY 设置为 OFF。 有关如何将 TRUSTWORTHY 设置为 ON 的信息,请参阅 ALTER DATABASE SET 选项 (Transact-SQL)

本主题内容:

简单恢复模式下的数据库备份

在简单恢复模式下,每次备份后,如果出现严重故障,数据库将有可能丢失工作。 每次更新都会增加丢失工作的风险,这种情况将一直持续到下一次备份。这时,工作丢失风险将变为零,并开始新一轮的工作丢失风险。 备份之间的工作丢失风险随着时间的推移而增加。 下图显示了仅使用完整数据库备份的备份策略的工作丢失风险。

显示数据库备份之间的

Transact-SQL) (示例

下面的示例说明了如何使用 WITH FORMAT 覆盖任意现有备份并创建新介质集,从而创建一个完整数据库备份。

-- Back up the AdventureWorks2012 database to new media set.  
BACKUP DATABASE AdventureWorks2012  
    TO DISK = 'Z:\SQLServerBackups\AdventureWorksSimpleRM.bak'   
    WITH FORMAT;  
GO  

完整恢复模式下的数据库备份

对于使用完整恢复模式和大容量日志恢复模式的数据库而言,数据库备份是必需的,但并不足够。 还需要事务日志备份。 下图显示了在完整恢复模式下可以使用的复杂性最小的备份策略。

完整数据库备份和日志备份系列

有关如何创建日志备份的信息,请参阅事务日志备份 (SQL Server)

Transact-SQL) (示例

下面的示例说明了如何使用 WITH FORMAT 覆盖任意现有备份并创建新介质集,从而创建一个完整数据库备份。 然后,此示例将备份事务日志。 在现实情况下,您必须执行一系列的定期日志备份。 在此示例中, AdventureWorks2019 示例数据库设置为使用完整恢复模式。

USE master;  
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;  
GO  
-- Back up the AdventureWorks2012 database to new media set (backup set 1).  
BACKUP DATABASE AdventureWorks2012  
  TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak'   
  WITH FORMAT;  
GO  
--Create a routine log backup (backup set 2).  
BACKUP LOG AdventureWorks2012 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak';  
GO  

使用完整数据库备份还原数据库

您可以通过将数据库从完整数据库备份还原到任意位置的方法一步完成整个数据库的重新创建。 备份中包含了足够的事务日志,这使您能够将数据库恢复到备份完成的时间。 还原的数据库将与还原数据库备份完成时的原始数据库状态相符,但不包含任何未提交的事务。 在完整恢复模式下,随后应还原所有后续日志备份。 恢复数据库后,将回滚未提交的事务。

有关详细信息,请参阅 完整数据库还原 (简单恢复模型) 完整数据库还原 (完整恢复模型)

Related Tasks

创建完整数据库备份

计划备份作业

使用维护计划向导

另请参阅

SQL Server 数据库的备份和还原
Backup Overview (SQL Server)
备份和还原 Analysis Services 数据库