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


Настройка контрольной суммы резервной копии по умолчанию (параметр конфигурации сервера)

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

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

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

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

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

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

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

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

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

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

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

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

При использовании явного NO_CHECKSUM параметра в команде параметр сервера контрольной суммы резервной BACKUP копии по умолчанию переопределяется.

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

  • Флаг 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.

SQL Server 2012 и более ранних версий

В SQL Server 2012 (11.x) и более ранних версиях этот параметр не существует. Для включения CHECKSUM параметра по умолчанию для BACKUP команды необходимо использовать флаг трассировки 3023. Флаг трассировки 3023 можно использовать динамически с помощью DBCC TRACEON инструкции или его можно использовать в качестве параметра запуска.

Динамическое использование

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

Использование параметра запуска

Добавьте флаг трассировки в качестве параметра запуска в SQL Server (-T3023), а затем остановите и перезапустите службу SQL Server.