本主题介绍如何通过使用 SQL Server Management Studio 或 Transact-SQL 指定在 SQL Server 2012 中遇到错误后备份或还原操作是继续还是停止。

本主题内容

  • 开始之前:

  • 若要指定备份或还原操作在遇到错误后是停止还是继续,请使用:

安全性

权限

BACKUP

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

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

RESTORE

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

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

指定备份操作在遇到错误后是继续还是停止

  1. 执行以下步骤以便。

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

指定备份操作在遇到错误后是继续还是停止

  1. 连接到数据库引擎。

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

  3. 在 语句中,指定 CONTINUE_AFTER ERROR 选项可继续操作,指定 STOP_ON_ERROR 选项可停止操作。默认行为是遇到错误后停止。下面的示例指示备份操作在遇到错误时仍继续。

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

指定还原操作在遇到错误后是继续还是停止

  1. 连接到数据库引擎。

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

  3. 在 语句中,指定 CONTINUE_AFTER ERROR 选项可继续操作,指定 STOP_ON_ERROR 选项可停止操作。默认行为是遇到错误后停止。下面的示例指示还原操作在遇到错误时仍继续。

RESTORE DATABASE AdventureWorks2012  FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'    WITH CHECKSUM, CONTINUE_AFTER_ERROR;GO