Udostępnij za pośrednictwem


Przywracanie kopii zapasowej bazy danych w ramach prostego modelu odzyskiwania (Transact-SQL)

Dotyczy:programu SQL Server

W tym temacie opisano sposób przywracania pełnej kopii zapasowej bazy danych.

Ważny

Administrator systemu przywracający pełną kopię zapasową bazy danych musi być jedyną osobą, która aktualnie używa bazy danych do przywrócenia.

Wymagania wstępne i zalecenia

  • Aby przywrócić zaszyfrowaną bazę danych, musisz mieć dostęp do certyfikatu lub klucza asymetrycznego, który został użyty do szyfrowania bazy danych. Bez certyfikatu lub klucza asymetrycznego nie można przywrócić bazy danych. W związku z tym certyfikat używany do szyfrowania klucza szyfrowania bazy danych musi być zachowywany tak długo, jak jest potrzebna kopia zapasowa. Aby uzyskać więcej informacji, zobacz certyfikaty programu SQL Server i klucze asymetryczne.

  • W celach bezpieczeństwa zalecamy, aby nie dołączać ani przywracać baz danych z nieznanych lub niezaufanych źródeł. Takie bazy danych mogą zawierać złośliwy kod, który może wykonywać niezamierzony kod Transact-SQL lub powodować błędy, modyfikując schemat lub fizyczną strukturę bazy danych. Przed użyciem bazy danych z nieznanego lub niezaufanego źródła uruchom DBCC CHECKDB w bazie danych na serwerze nieprodukcyjnym, a także sprawdź kod, taki jak procedury składowane lub inny kod zdefiniowany przez użytkownika, w bazie danych.

Poziom zgodności bazy danych po uaktualnieniu

Poziomy zgodności baz danych tempdb, modelu, msdb i Resource są ustawione na poziom zgodności SQL Server po uaktualnieniu. Główna baza danych systemu zachowuje poziom zgodności, który miała przed uaktualnieniem, chyba że ten poziom był mniejszy niż 100. Jeśli poziom zgodności głównego był mniejszy niż 100 przed aktualizacją, to po aktualizacji jest ustawiany na 100.

Jeśli poziom zgodności bazy danych użytkownika wynosił 100 lub wyższy przed uaktualnieniem, pozostaje taki sam po uaktualnieniu. Jeśli poziom zgodności wynosił 90 przed uaktualnieniem, w uaktualnionej bazie danych poziom zgodności wynosi 100, co jest najniższym obsługiwanym poziomem zgodności w programie SQL Server 2016 (13.x) i nowszym.

Notatka

Nowe bazy danych użytkowników dziedziczą poziom zgodności modelu bazy danych.

Procedury

Aby przywrócić pełną kopię zapasową bazy danych

  1. Wykonaj instrukcję RESTORE DATABASE, aby przywrócić pełną kopię zapasową bazy danych, określając:

    • Nazwa bazy danych do przywrócenia.

    • Urządzenie kopii zapasowej, z którego jest przywracana pełna kopia zapasowa bazy danych.

    • Klauzula NORECOVERY, jeśli masz dziennik transakcji lub różnicową kopię zapasową bazy danych do zastosowania po przywróceniu pełnej kopii zapasowej bazy danych.

    Ważny

    Aby przywrócić zaszyfrowaną bazę danych, musisz mieć dostęp do certyfikatu lub klucza asymetrycznego, który został użyty do szyfrowania bazy danych. Bez certyfikatu lub klucza asymetrycznego nie można przywrócić bazy danych. W związku z tym certyfikat używany do szyfrowania klucza szyfrowania dla bazy danych musi być zachowywany tak długo, jak jest potrzebna kopia zapasowa. Aby uzyskać więcej informacji, zobacz certyfikaty programu SQL Server i klucze asymetryczne.

  2. Opcjonalnie określ:

    • Klauzula FILE służy do identyfikacji zestawu kopii zapasowych na urządzeniu kopii zapasowej, które ma zostać przywrócone.

Notatka

Jeśli przywrócisz wcześniejszą wersję bazy danych do nowszej wersji programu SQL Server, baza danych zostanie automatycznie uaktualniona. Zazwyczaj baza danych staje się dostępna natychmiast. Jeśli jednak baza danych programu SQL Server 2005 (9.x) zawiera indeksy pełnotekstowe, proces uaktualniania importuje, resetuje lub ponownie kompiluje je, w zależności od ustawienia właściwości serwera upgrade_option. Jeśli opcja uaktualnienia zostanie ustawiona na import (upgrade_option = 2) lub przebudowę (upgrade_option = 0), indeksy pełnotekstowe będą niedostępne w trakcie uaktualniania. W zależności od ilości indeksowanych danych importowanie może potrwać kilka godzin, a ponowne kompilowanie może potrwać do dziesięciu razy dłużej. Należy również pamiętać, że po ustawieniu opcji uaktualnienia na import skojarzone indeksy pełnotekstowe zostaną ponownie skompilowane, jeśli wykaz pełnotekstowy jest niedostępny. Aby zmienić ustawienie właściwości serwera upgrade_option, użyj sp_fulltext_service.

Przykład

Opis

W tym przykładzie przywracana jest pełna kopia zapasowa bazy danych AdventureWorks2022 z taśmy.

Przykład

USE master;  
GO  
RESTORE DATABASE AdventureWorks2022  
   FROM TAPE = '\\.\Tape0';  
GO  

Zobacz też

pełne przywracanie bazy danych (model pełnego odzyskiwania)
pełne przywracanie bazy danych (prosty model odzyskiwania)
Pełne kopie zapasowe bazy danych (SQL Server)
PRZYWRÓĆ (Transact-SQL)
Historia Kopii Zapasowej i Informacje Nagłówkowe (SQL Server)
ponowne kompilowanie systemowych baz danych