本主题说明当备份或还原数据库时如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中启用或禁用备份校验和。

本主题内容

安全性

权限

BACKUP

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

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

RESTORE

如果不存在要还原的数据库,则用户必须有 CREATE DATABASE 权限才能执行 RESTORE。如果该数据库存在,则 RESTORE 权限默认授予 sysadmindbcreator 固定服务器角色成员以及该数据库的所有者 (dbo)(对于 FROM DATABASE_SNAPSHOT 选项,该数据库始终存在)。

RESTORE 权限被授予那些成员身份信息始终可由服务器使用的角色。因为只有在固定数据库可以访问且没有损坏时(在执行 RESTORE 时并不会总是这样)才能检查固定数据库角色成员身份,所以 db_owner 固定数据库角色成员没有 RESTORE 权限。

在备份操作期间启用或禁用校验和

  1. 执行以下步骤以便创建数据库备份

  2. “选项”页的“可靠性”部分中,单击“写入介质前检查校验和”

为备份操作启用或禁用备份校验和

  1. 连接到数据库引擎。

  2. 在标准菜单栏上,单击“新建查询”

  3. 若要启用备份校验和,请在 BACKUP 语句中指定 WITH CHECKSUM 选项。若要禁用备份校验和,请指定 WITH NO_CHECKSUM 选项。这是默认行为,但压缩备份除外。下面的示例指定执行校验和。

BACKUP DATABASE AdventureWorks2012 
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
   WITH CHECKSUM;
GO

为还原操作启用或禁用备份校验和

  1. 连接到数据库引擎。

  2. 在标准菜单栏上,单击“新建查询”

  3. 若要启用备份校验和,请在 RESTORE 语句中指定 WITH CHECKSUM 选项。这是压缩备份的默认行为。若要禁用备份校验和,请指定 WITH NO_CHECKSUM 选项。这是默认行为,但压缩备份除外。下面的示例指定执行备份校验和。

RESTORE DATABASE AdventureWorks2012 
 FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
   WITH CHECKSUM;
GO
在备份或还原期间启用或禁用备份校验和 (SQL Server)_安全性注意

在明确请求 CHECKSUM 进行还原操作并且备份包含备份校验和时,与默认情况相同,将同时验证备份校验和及页校验和。但是,如果备份集不包含备份校验和,还原操作将失败,并显示一条消息指明校验和不存在。