Udostępnij za pośrednictwem


Włączanie lub wyłączanie sum kontrolnych kopii zapasowych podczas tworzenia kopii zapasowej lub przywracania (SQL Server)

Dotyczy:programu SQL Server

W tym artykule opisano sposób włączania lub wyłączania sum kontrolnych dla kopii zapasowych podczas tworzenia kopii zapasowej lub przywracania bazy danych w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL.

Uprawnienia

KOPIA ZAPASOWA

Uprawnienia BACKUP DATABASE i BACKUP LOG domyślnie przypisane są członkom stałej roli serwera sysadmin oraz stałych ról bazy danych db_owner i db_backupoperator.

Problemy z własnością i uprawnieniami w pliku fizycznym urządzenia kopii zapasowej mogą zakłócać operację tworzenia kopii zapasowej. Program SQL Server musi mieć możliwość odczytu i zapisu na urządzeniu; konto, na którym działa usługa SQL Server, musi mieć uprawnienia do zapisu. Jednak sp_addumpdevice, który dodaje wpis dla urządzenia kopii zapasowej w tabelach systemowych, nie sprawdza uprawnień dostępu do plików. Takie problemy z plikiem fizycznym urządzenia kopii zapasowej mogą nie pojawić się, dopóki zasób fizyczny nie zostanie uzyskany podczas próby utworzenia kopii zapasowej lub przywracania.

PRZYWRÓCIĆ

Jeśli przywracana baza danych nie istnieje, użytkownik musi mieć uprawnienia CREATE DATABASE, aby móc wykonać RESTORE. Jeśli baza danych istnieje, RESTORE uprawnienia są domyślnie przyznawane członkom stałych ról serwera sysadmin i dbcreator oraz właścicielowi bazy danych (dbo) (dla opcji FROM DATABASE_SNAPSHOT baza danych zawsze istnieje).

RESTORE uprawnienia są przekazywane do ról, w których informacje o członkostwie są zawsze łatwo dostępne dla serwera. Ponieważ stałe członkostwo w roli bazy danych można sprawdzić tylko wtedy, gdy baza danych jest dostępna i nieuszkodzony, co nie zawsze ma znaczenie w przypadku wykonywania RESTORE, członkowie db_owner stałej roli bazy danych nie mają RESTORE uprawnień.

Korzystanie z programu SQL Server Management Studio

Włączanie lub wyłączanie sum kontrolnych podczas operacji tworzenia kopii zapasowej

  1. Wykonaj kroki, aby utworzyć kopię zapasową bazy danych.

  2. Na stronie opcje w sekcji niezawodność wybierz pozycję Wykonaj sumę kontrolną przed zapisaniem w nośniku.

Użyj Transact-SQL

Włączanie lub wyłączanie sumy kontrolnej kopii zapasowej dla operacji tworzenia kopii zapasowej

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku Standardowa wybierz pozycję Nowe zapytanie.

  3. Aby włączyć sumy kontrolne kopii zapasowej w instrukcji BACKUP (Transact-SQL), należy określić opcję WITH CHECKSUM. Aby wyłączyć sumy kontrolne kopii zapasowej, określ opcję WITH NO_CHECKSUM. Jest to zachowanie domyślne, z wyjątkiem skompresowanej kopii zapasowej. W poniższym przykładzie określono, że należy wykonać sumy kontrolne.

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

Włączanie lub wyłączanie sumy kontrolnej kopii zapasowej dla operacji przywracania

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku Standardowa wybierz pozycję Nowe zapytanie.

  3. Aby w instrukcji RESTORE (Transact-SQL) włączyć sumy kontrolne kopii zapasowej, określ opcję WITH CHECKSUM. Jest to domyślne zachowanie skompresowanej kopii zapasowej. Aby wyłączyć sumy kontrolne kopii zapasowej, określ opcję WITH NO_CHECKSUM. Jest to zachowanie domyślne, z wyjątkiem skompresowanej kopii zapasowej. W poniższym przykładzie określono, że należy przeprowadzić sumy kontrolne kopii zapasowej.

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

Ostrzeżenie

Jeśli jawnie zażądasz CHECKSUM operacji przywracania i kopia zapasowa zawiera sumy kontrolne, zarówno sumy kontrolne kopii zapasowej, jak i sumy kontrolne stron zostaną zweryfikowane, tak jak w przypadku domyślnym. Jeśli jednak zestaw kopii zapasowych nie zawiera sum kontrolnych kopii zapasowych, operacja przywracania kończy się niepowodzeniem z komunikatem wskazującym na brak sum kontrolnych.