Sdílet prostřednictvím


Povolit nebo zakázat kontrolu součtů při zálohování nebo obnovení (SQL Server)

platí pro:SQL Server

Tento článek popisuje, jak povolit nebo zakázat kontrolní součty zálohování při zálohování nebo obnovení databáze na SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL.

Dovolení

ZÁLOHOVÁNÍ

BACKUP DATABASE a BACKUP LOG oprávnění jsou výchozí pro členy pevné role serveru správce systému a db_owner a db_backupoperator pevné databázové role.

Problémy s vlastnictvím a oprávněním ve fyzickém souboru zálohovacího zařízení můžou kolidovat s operací zálohování. SQL Server musí být schopen číst a zapisovat do zařízení; účet, pod kterým běží služba SQL Serveru, musí mít oprávnění k zápisu. sp_addumpdevice, který přidává položku pro zálohovací zařízení v systémových tabulkách, ale nekontroluje přístupová oprávnění k souborům. Takové problémy s fyzickým souborem zálohovaného zařízení se nemusí zobrazit, dokud se k fyzickému prostředku nepřistupuje při pokusu o zálohování nebo obnovení.

OBNOVIT

Pokud obnovená databáze neexistuje, musí mít uživatel CREATE DATABASE oprávnění ke spuštění RESTORE. Pokud databáze existuje, výchozí oprávnění RESTORE má členy pevně určených serverových rolí sysadmin a dbcreator a vlastníka (dbo) databáze (pro možnost FROM DATABASE_SNAPSHOT databáze vždy existuje).

RESTORE oprávnění jsou udělena rolím, ve kterých jsou informace o členství vždy snadno dostupné pro server. Vzhledem k tomu, že pevné členství v rolích databáze je možné zkontrolovat pouze v případě, že je databáze přístupná a nepoškozená, což není vždy případ spuštění RESTORE, nemají členové db_owner pevné databázové role oprávnění RESTORE.

Použití aplikace SQL Server Management Studio

Povolení nebo zakázání kontrolních součtů během procesu zálohování

  1. Postupujte podle pokynů k vytvoření zálohy databáze.

  2. Na stránce Možnosti v části Spolehlivost vyberte Provést kontrolní součet před zápisem do médií.

Použití Transact-SQL

Povolení nebo zakázání kontrolního součtu zálohování pro operaci zálohování

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Pokud chcete povolit kontrolní součty zálohování v příkazu BACKUP (Transact-SQL), zadejte možnost WITH CHECKSUM. Chcete-li zakázat kontrolní součty zálohování, zadejte možnost WITH NO_CHECKSUM. Toto je výchozí chování s výjimkou komprimované zálohy. Následující příklad určuje, že se kontrolní součty provádějí.

BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO

Povolení nebo zakázání kontrolního součtu zálohování pro operaci obnovení

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Pro povolení kontrolních součtů zálohování v příkazu RESTORE (Transact-SQL), zadejte možnost WITH CHECKSUM. Toto je výchozí chování komprimované zálohy. Chcete-li zakázat kontrolní součty backupu, zadejte možnost WITH NO_CHECKSUM. Toto je výchozí chování s výjimkou komprimované zálohy. Následující příklad určuje, že se provádějí kontrolní součty pro zálohování.

RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO

Varování

Pokud explicitně požadujete CHECKSUM pro operaci obnovení a pokud záloha obsahuje kontrolní součty zálohy, jsou jak kontrolní součty zálohy, tak kontrolní součty stránky ověřeny, stejně jako ve výchozím případě. Pokud však sada zálohování neobsahuje kontrolní součty zálohování, operace obnovení selže se zprávou, že kontrolní součty nejsou k dispozici.