Udostępnij za pośrednictwem


Określ, czy ma być wykonywana kopia zapasowa, czy przywracanie, aby kontynuować lub zatrzymać po wystąpieniu błędu.

Dotyczy:programu SQL Server

W tym temacie opisano sposób określania, czy operacja tworzenia kopii zapasowej lub przywracania jest kontynuowana, czy zatrzymana po wystąpieniu błędu w programie SQL Server Przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

w tym temacie

Przed rozpoczęciem

Bezpieczeństwo

Uprawnienia

KOPIA ZAPASOWA
Domyślne uprawnienia KOPII ZAPASOWEJ BAZY DANYCH i KOPII ZAPASOWEJ DZIENNIKA przysługują członkom sysadmin stałej roli serwera oraz db_owner i db_backupoperator stałych ról bazy danych.

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 fizycznym plikiem urządzenia kopii zapasowej mogą nie ujawnić się, dopóki nie zostanie uzyskany dostęp do zasobu fizycznego podczas próby wykonania kopii zapasowej lub przywrócenia danych.

PRZYWRÓCIĆ
Jeśli przywracana baza danych nie istnieje, użytkownik musi mieć uprawnienia CREATE DATABASE, aby móc wykonać funkcję RESTORE. Jeśli baza danych istnieje, uprawnienia RESTORE są automatycznie przypisane do członków stałych ról serwera sysadmin i dbcreator oraz właściciela (dbo) bazy danych (dla opcji FROM DATABASE_SNAPSHOT baza danych zawsze istnieje).

Uprawnienia RESTORE 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 nieszkodzona, co nie zawsze ma miejsce w przypadku wykonywania operacji RESTORE, członkowie stałej roli bazy danych db_owner nie mają uprawnień do wykonywania operacji RESTORE.

Korzystanie z programu SQL Server Management Studio

Aby określić, czy kopia zapasowa jest kontynuowana, czy zatrzymuje się po wystąpieniu błędu

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

  2. Na stronie Opcje, w sekcji Niezawodność, kliknij Wykonaj sumę kontrolną przed zapisaniem na nośniku i Kontynuuj po błędzie.

Korzystanie z Transact-SQL

Aby określić, czy operacja tworzenia kopii zapasowej jest kontynuowana, czy zatrzymana po wystąpieniu błędu

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

  2. Na pasku standardowego kliknij pozycję Nowe zapytanie.

  3. W instrukcji BACKUP określ opcję CONTINUE_AFTER ERROR, aby kontynuować, lub opcję STOP_ON_ERROR, aby zatrzymać. Domyślne zachowanie polega na zatrzymaniu działania po wystąpieniu błędu. Ten przykład nakazuje procesowi tworzenia kopii zapasowej kontynuowanie pomimo napotkania błędu.

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

Aby określić, czy operacja przywracania jest kontynuowana, czy zatrzymana po wystąpieniu błędu

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

  2. Na pasku standardowym kliknij pozycję Nowe zapytanie.

  3. W instrukcji RESTORE określ opcję CONTINUE_AFTER ERROR, aby kontynuować, lub opcję STOP_ON_ERROR, aby zatrzymać. Domyślne zachowanie polega na zatrzymaniu działania po wystąpieniu błędu. Ten przykład informuje, aby operacja przywracania była kontynuowana pomimo napotkania błędu.

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

Zobacz też

RESTORE FILELISTONLY (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
KOPIA ZAPASOWA (Transact-SQL)
zestaw kopii zapasowych (Transact-SQL)
RESTORE Argumenty (Transact-SQL)
Możliwe błędy nośników podczas tworzenia kopii zapasowej i przywracania (SQL Server)
Włączanie lub wyłączanie sum kontrolnych kopii zapasowej podczas tworzenia kopii zapasowej lub przywracania (SQL Server)