Поделиться через


Конфигурация сервера: контрольная сумма резервного копирования по умолчанию

Область применения:SQL Server

backup checksum default Используйте параметр, чтобы включить или отключить контрольную сумму резервных копий во время всех операций резервного копирования и восстановления на уровне экземпляра.

Чтобы настроить проверку ошибок для отдельных операций резервного копирования или восстановления, см. статью «Включить или отключить контрольные суммы резервных копий во время резервного копирования или восстановления» (SQL Server).

В следующей таблице описываются допустимые значения:

Значение Значение
0 (по умолчанию) Отключено
1 Включен

Чтобы включить контрольную сумму резервных копий для всех операций резервного копирования и восстановления на уровне экземпляра, выполните следующую команду:

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

Этот параметр незамедлительно вступает в силу.

Сценарии использования

Этот параметр можно использовать backup checksum default для предоставления параметров управления ошибками (CHECKSUM и NO_CHECKSUM) при использовании приложений резервного копирования или служебных программ, которые не предоставляют эти параметры в собственном коде. Этот параметр также можно использовать при использовании таких служебных программ, как доставка журналов SQL Server или задача резервной базы данных из планов обслуживания SQL Server. Эти служебные программы и связанные хранимые процедуры Transact-SQL не предоставляют возможность включить опцию CHECKSUM во время резервного копирования.

Дополнительные сведения

Если проверка контрольной суммы страницы завершается сбоем во время операции резервного копирования, SQL Server останавливает операцию резервного копирования и сообщает сообщение об ошибке 3043. Дополнительные сведения об ошибках и устранении неполадок см. на странице ошибок для MSSQLSERVER_3043.

При использовании явного NO_CHECKSUM параметра в команде BACKUPbackup 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.