服务器配置:备份校验和默认值

适用于SQL Server

在实例级别的所有备份和还原操作期间,使用 backup checksum default 设置,启用或禁用备份校验和。

若要为单个备份或还原操作配置错误检查,请参阅在备份或还原 (SQL Server) 期间启用或禁用备份校验和

下表描述了有效值:

含义
0(默认值) 已禁用
1 已启用

若要为实例层级的所有备份和还原操作启用备份校验和,请运行以下命令:

EXECUTE sp_configure 'backup checksum default', 1;
RECONFIGURE;

设置立即生效。

使用场景

在使用本身不提供这些选项的备份应用程序或实用工具时,您可以使用 backup checksum default 设置来提供错误管理选项(CHECKSUMNO_CHECKSUM)。 使用实用工具(如 SQL Server 日志传送或 SQL Server 维护计划中的备份数据库任务)时,也可以使用此选项。 这些实用工具和关联的 Transact-SQL 存储过程不提供在备份期间包含 CHECKSUM 选项的选项。

更多信息

如果在备份操作期间页校验和验证失败,SQL Server 将停止备份操作并报告错误消息 3043。 有关错误和故障排除步骤的详细信息,请参阅 MSSQLSERVER_3043 的错误页。

BACKUP 命令中使用显式的 NO_CHECKSUM 选项时,会覆盖 backup checksum default 服务器选项。

若要确定备份过程中是否使用了校验和来保护备份集,请使用以下方法之一:

  • RESTORE HEADERONLY 命令输出中的 HasBackupChecksums 标志。 例如:

    RESTORE HEADERONLY FROM DISK = 'c:\temp\master.bak';
    
  • msdb 数据库中 backupset 系统表中的 has_backup_checksums 列。 例如:

    SELECT has_backup_checksums,
           database_name,
           *
    FROM msdb..backupset;
    

如果使用 CHECKSUM 选项执行备份,还原操作会自动执行验证,然后显示错误消息 3183。 有关错误和故障排除步骤的详细信息,请参阅 MSSQLSERVER_3183 的错误页。

动态用法

DBCC TRACEON(3023, -1);
BACKUP DATABASE...;
DBCC TRACEOFF(3023, -1);

启动参数用法

将跟踪标志作为启动参数添加到 SQL Server (-T3023),然后停止并重启 SQL Server 服务。