Включение или отключение вычисления контрольных сумм резервных копий во время архивации или восстановления (SQL Server)
Область применения: SQL Server
В этой статье описывается, как включить или отключить контрольные суммы резервных копий при резервном копировании или восстановлении базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Разрешения
BACKUP
Разрешения BACKUP DATABASE
и BACKUP LOG
по умолчанию назначаются участникам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator.
Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования. SQL Server должен иметь возможность чтения и записи на устройство; учетная запись, в которой выполняется служба SQL Server, должна иметь разрешения на запись. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу. Такие проблемы с физическим файлом устройства резервного копирования могут не отображаться до тех пор, пока физический ресурс не будет доступен при попытке резервного копирования или восстановления.
RESTORE
Если восстановленная база данных не существует, пользователь должен иметь CREATE DATABASE
разрешения на выполнение RESTORE
. Если база данных существует, RESTORE
разрешения по умолчанию для членов предопределенных ролей сервера sysadmin и dbcreator и владельца базы данных (dbo) базы данных (для FROM DATABASE_SNAPSHOT
параметра всегда существует база данных).
RESTORE
разрешения предоставляются ролям, в которых сведения о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных можно проверить только в том случае, если база данных доступна и не повреждена, что не всегда происходит при RESTORE
выполнении, члены предопределенной роли базы данных db_owner не имеют RESTORE
разрешений.
Использование SQL Server Management Studio
Включение или отключение контрольных сумм во время операции резервного копирования
Выполните следующие шаги, чтобы создать резервную копию базы данных.
На странице "Параметры" в разделе "Надежность" выберите "Выполнить контрольную сумму" перед записью в носитель.
Использование Transact-SQL
Включение или отключение контрольной суммы резервной копии для операции резервного копирования
Соединитесь с ядром СУБД .
На стандартной панели выберите пункт Создать запрос.
Чтобы включить контрольные суммы резервных копий в инструкции BACKUP (Transact-SQL), укажите
WITH CHECKSUM
этот параметр. Чтобы отключить контрольные суммы резервных копий, укажитеWITH NO_CHECKSUM
этот параметр. Это поведение по умолчанию для всех, за исключением сжатых резервных копий. В следующем примере указывается, что контрольные суммы будут вычисляться.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO
Включение или отключение контрольной суммы резервного копирования для операции восстановления
Соединитесь с ядром СУБД .
На стандартной панели выберите пункт Создать запрос.
Чтобы включить контрольные суммы резервных копий в инструкции RESTORE (Transact-SQL), укажите
WITH CHECKSUM
этот параметр. Это поведение по умолчанию для сжатых резервных копий. Чтобы отключить контрольные суммы резервных копий, укажитеWITH NO_CHECKSUM
этот параметр. Это поведение по умолчанию для всех, за исключением сжатых резервных копий. В следующем примере указывается, что контрольные суммы резервных копий будут вычисляться.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO
Предупреждение
Если вы явно запрашиваете CHECKSUM
операцию восстановления и если резервная копия содержит контрольные суммы резервных копий, контрольные суммы резервных копий и контрольные суммы страниц проверяются, как в случае по умолчанию. Однако если резервному набору не хватает контрольных сумм резервного копирования, операция восстановления завершается ошибкой с сообщением о том, что контрольные суммы отсутствуют.
Связанный контент
- Инструкции RESTORE — FILELISTONLY (Transact-SQL)
- Инструкции RESTORE — HEADERONLY (Transact-SQL)
- Инструкции RESTORE — LABELONLY (Transact-SQL)
- Инструкции RESTORE — VERIFYONLY (Transact-SQL)
- BACKUP (Transact-SQL)
- backupset (Transact-SQL)
- Инструкции RESTORE — аргументы (Transact-SQL)
- Возможные ошибки мультимедиа во время резервного копирования и восстановления (SQL Server)
- Указание резервного копирования или восстановления для продолжения или остановки после ошибки