Udostępnij za pośrednictwem


Przywracanie plików i grup plików (SQL Server)

Dotyczy:programu SQL Server

W tym temacie opisano sposób przywracania plików i grup plików w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL.

w tym temacie

Przed rozpoczęciem

Ograniczenia i ograniczenia

  • Administrator systemu przywracający pliki i grupy plików musi być jedyną osobą, która aktualnie używa bazy danych do przywrócenia.

  • Funkcja RESTORE nie jest dozwolona w jawnej lub niejawnej transakcji.

  • W ramach prostego modelu odzyskiwania plik musi należeć do grupy plików tylko do odczytu.

  • W ramach pełnego lub zarejestrowanego zbiorczo modelu odzyskiwania przed przywróceniem plików należy utworzyć kopię zapasową aktywnego dziennika transakcji (znanego jako ogon dziennika). Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej dziennika transakcji (SQL Server).

  • 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 potrzebny backup. Aby uzyskać więcej informacji, zobacz certyfikaty programu SQL Server i klucze asymetryczne.

Bezpieczeństwo

Uprawnienia

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 domyślnie przysługują członkom stałych ról serwera sysadmin i dbcreator oraz właścicielowi (dbo) bazy danych (w przypadku 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 nieuszkodzona, co nie zawsze ma miejsce podczas wykonywania operacji RESTORE, członkowie stałej roli bazy danych db_owner nie mają uprawnień RESTORE.

Korzystanie z programu SQL Server Management Studio

Aby przywrócić pliki i grupy plików

  1. Po nawiązaniu połączenia z odpowiednim wystąpieniem aparatu bazy danych programu SQL Server, kliknij nazwę serwera w Eksploratorze obiektów, aby rozwinąć drzewo serwerów.

  2. Rozwiń bazy danych . W zależności od bazy danych, wybierz bazę danych użytkownika lub rozwiń Bazy danych systemowych, a następnie wybierz bazę danych systemowych.

  3. Kliknij prawym przyciskiem myszy bazę danych, wskaż polecenie Tasks, a następnie kliknij pozycję Przywróć.

  4. Kliknij Pliki i Grupy Plików, co spowoduje otwarcie okna dialogowego Przywracanie Plików i Grup Plików.

  5. Na stronie Ogólne w polu listy Do bazy danych wprowadź bazę danych do przywrócenia. Możesz wprowadzić nową bazę danych lub wybrać istniejącą bazę danych z listy rozwijanej. Lista zawiera wszystkie bazy danych na serwerze, z wyłączeniem systemowych baz danych master i tempdb.

  6. Aby określić źródło i lokalizację zestawów kopii zapasowych do przywrócenia, kliknij jedną z następujących opcji:

    • z bazy danych

      Wprowadź nazwę bazy danych w polu listy. Ta lista zawiera tylko bazy danych, których kopie zapasowe zostały utworzone zgodnie z historią kopii zapasowych w msdb.

    • z urządzenia

      Kliknij przycisk przeglądania. W oknie dialogowym Określanie urządzeń kopii zapasowych wybierz jeden z wymienionych typów urządzeń w polu listy Typ nośnika kopii zapasowej. Aby wybrać co najmniej jedno urządzenie na liście nośnika kopii zapasowej, kliknij przycisk Dodaj.

      Po dodaniu urządzeń do listy nośnika kopii zapasowej, kliknij przycisk OK, aby powrócić do strony ogólne.

  7. W siatce Wybierz zestawy kopii zapasowych do przywrócenia, wybierz kopie zapasowe do przywrócenia. Ta siatka wyświetla kopie zapasowe dostępne dla określonej lokalizacji. Domyślnie sugerowany jest plan odzyskiwania. Aby zastąpić sugerowany plan odzyskiwania, możesz zmienić wybory w tabeli. Wszystkie kopie zapasowe, które zależą od zaznaczonej kopii zapasowej, są automatycznie usuwane.

    Nagłówek kolumny Wartości
    Przywróć Zaznaczone pola wyboru wskazują zestawy kopii zapasowych do przywrócenia.
    nazwa Nazwa zestawu kopii zapasowych.
    typ pliku Określa typ danych w kopii zapasowej: Data, Loglub Filestream Data. Dane zawarte w tabelach znajdują się w plikach Data. Dane dziennika transakcji są w plikach dziennika . Dane dużych obiektów binarnych (BLOB) przechowywane w systemie plików znajdują się w plikach filestream data.
    typu Typ wykonywanej kopii zapasowej: pełna, różnicowalub dziennika transakcji.
    Server Nazwa wystąpienia Database-Engine, które wykonało operację tworzenia kopii zapasowej.
    nazwa logiczna pliku Logiczna nazwa pliku.
    Baza danych Nazwa bazy danych zaangażowanej w operację tworzenia kopii zapasowej.
    data rozpoczęcia Data i godzina rozpoczęcia operacji tworzenia kopii zapasowej przedstawione w regionalnym ustawieniu klienta.
    data zakończenia Data i godzina zakończenia operacji tworzenia kopii zapasowej przedstawione w regionalnym ustawieniu klienta.
    rozmiar Rozmiar zestawu kopii zapasowych w bajtach.
    nazwa użytkownika Nazwa użytkownika, który wykonał operację tworzenia kopii zapasowej.
  8. Aby wyświetlić lub wybrać opcje zaawansowane, kliknij Opcje w okienku Wybierz stronę.

  9. W panelu Opcje przywracania można wybrać dowolną z poniższych opcji, jeśli jest to odpowiednie dla Danej sytuacji.

    Przywróć jako grupę plików
    Wskazuje, że przywracana jest cała grupa plików.

    zastąp istniejącą bazę danych
    Określa, że operacja przywracania powinna zastąpić wszystkie istniejące bazy danych i powiązane pliki, nawet jeśli inna baza danych lub plik już istnieje o tej samej nazwie.

    Wybranie tej opcji jest równoważne użyciu opcji REPLACE w instrukcji Transact-SQL RESTORE.

    monituj przed przywróceniem każdej kopii zapasowej
    Prosi o potwierdzenie przed przywróceniem każdego zestawu kopii zapasowych.

    Ta opcja jest szczególnie przydatna w przypadku wymiany taśm dla różnych zestawów nośników, takich jak gdy serwer ma jedno urządzenie taśmowe.

    ograniczanie dostępu do przywróconej bazy danych
    Udostępnia przywróconą bazę danych tylko członkom db_owner, dbcreatorlub sysadmin.

    Wybranie tej opcji jest synonimem używania opcji RESTRICTED_USER w instrukcji Transact-SQL RESTORE.

  10. Opcjonalnie możesz przywrócić bazę danych do nowej lokalizacji, określając nową lokalizację przywracania dla każdego pliku w siatce Przywróć pliki bazy danych jako.

    Nagłówek kolumny Wartości
    oryginalna nazwa pliku Pełna ścieżka źródłowego pliku kopii zapasowej.
    typ pliku Określa typ danych w kopii zapasowej: Data, Loglub Filestream Data. Dane zawarte w tabelach znajdują się w plikach Data. Dane dziennika transakcji są w plikach dziennika. Dane dużych obiektów binarnych (BLOB) przechowywane w systemie plików znajdują się w plikach filestream data.
    Przywróć jako Pełna ścieżka pliku bazy danych do przywrócenia. Aby określić nowy plik przywracania, kliknij pole tekstowe i edytuj sugerowaną ścieżkę i nazwę pliku. Zmiana ścieżki lub nazwy pliku w kolumnie Restore As jest równoważna użyciu opcji MOVE w instrukcji Transact-SQL RESTORE.
  11. Panel stanu odzyskiwania ustala stan bazy danych po operacji przywracania.

Pozostaw bazę danych gotową do użycia, cofając niezatwierdzone transakcje. Nie można przywrócić dodatkowych dzienników transakcji. (PRZYWRACANIE ZA POMOCĄ ODZYSKIWANIA)
Odzyskuje bazę danych. Jest to zachowanie domyślne. Wybierz tę opcję tylko wtedy, gdy przywracasz wszystkie niezbędne kopie zapasowe teraz. Ta opcja jest równoważna określeniu funkcji WITH RECOVERY w instrukcji Transact-SQL RESTORE.

Pozostaw bazę danych nieoperacyjną i nie wycofaj niezatwierdzonych transakcji. Można przywrócić dodatkowe dzienniki transakcji. (PRZYWRACANIE Z OPCJĄ NORECOVERY)
Pozostawia bazę danych w stanie przywracania. Aby odzyskać bazę danych, należy wykonać kolejne przywracanie przy użyciu poprzedniej opcji RESTORE WITH RECOVERY (zobacz powyżej). Ta opcja jest równoważna określeniu funkcji WITH NORECOVERY w instrukcji Transact-SQL RESTORE.

W przypadku wybrania tej opcji opcja Zachowaj ustawienia replikacji jest niedostępna.

Pozostaw bazę danych w trybie tylko do odczytu. Wycofaj niezatwierdzone transakcje, ale zapisz operację wycofywania w pliku, aby można było cofnąć efekty odzyskiwania. (PRZYWRACANIE Z FUNKCJĄ WSTRZYMANIA)
Pozostawia bazę danych w stanie wstrzymania. Ta opcja jest równoważna użyciu WITH STANDBY w instrukcji Transact-SQL RESTORE.

Wybranie tej opcji wymaga określenia pliku rezerwowego.

cofanie wycofywania plików
Określ nazwę pliku rezerwowego w polu tekstowym Cofanie wycofywania pliku. Ta opcja jest wymagana, jeśli pozostawisz bazę danych w trybie tylko do odczytu (RESTORE WITH STANDBY).

Korzystanie z Transact-SQL

Aby przywrócić pliki i grupy plików

  1. Wykonaj instrukcję RESTORE DATABASE, aby przywrócić kopię zapasową pliku i grupy plików, określając:

    • Nazwa bazy danych do przywrócenia.

    • Urządzenie kopii zapasowej, z którego zostanie przywrócona pełna kopia zapasowa bazy danych.

    • Klauzula FILE dla każdego pliku, który ma być przywrócony.

    • Klauzula FILEGROUP dla każdej grupy plików do przywrócenia.

    • Klauzula NORECOVERY. Jeśli pliki nie zostały zmodyfikowane po utworzeniu kopii zapasowej, określ klauzulę RECOVERY.

  2. Jeśli pliki zostały zmodyfikowane po utworzeniu kopii zapasowej pliku, wykonaj instrukcję RESTORE LOG, aby zastosować kopię zapasową dziennika transakcji, określając:

    • Nazwa bazy danych, do której zostanie zastosowany dziennik transakcji.

    • Urządzenie kopii zapasowej, z którego zostanie przywrócona kopia zapasowa dziennika transakcji.

    • Klauzula NORECOVERY, jeśli masz inną kopię zapasową dziennika transakcji, która ma być stosowana po bieżącym; w przeciwnym razie określ klauzulę RECOVERY.

      Kopie zapasowe dziennika transakcji, jeśli są stosowane, muszą obejmować czas tworzenia kopii zapasowej plików i grup plików do końca dziennika (chyba że wszystkie pliki bazy danych zostaną przywrócone).

Przykład (Transact-SQL)

W tym przykładzie przywracane są pliki i grupy plików dla bazy danych MyDatabase. Aby przywrócić bazę danych do bieżącego czasu, zostaną zastosowane dwa dzienniki transakcji.

USE master;  
GO  
-- Restore the files and filegroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

Zobacz też

przywracanie kopii zapasowej bazy danych przy użyciu programu SSMS
tworzenie kopii zapasowych plików i grup plików (SQL Server)
tworzenie pełnej kopii zapasowej bazy danych (SQL Server)
tworzenie kopii zapasowej dziennika transakcji (SQL Server)
przywracanie kopii zapasowej dziennika transakcji (SQL Server)
PRZYWRÓĆ (Transact-SQL)