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

适用于SQL Server

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

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

下表描述了有效值:

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

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

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重写服务器选项。

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

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

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

    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 服务。