przywracanie (języka Transact-SQL)

RRRR to czterocyfrowy liczbę, począwszy od 0001 do 9999, reprezentującą rok.MM to dwóch cyfr numeru, od 01 do 12, reprezentującą miesiąc w określonym roku.

  • DD oznacza dwucyfrowy numer, od 01 do 31, w zależności od miesiąca, reprezentującą dzień miesiąca, określony.

  • hh jest dwucyfrowe liczbę, od 00 do 23, reprezentującą godzinę.

  • mm jest dwucyfrowe liczbę, od 00 do 59 reprezentującą minuty.

  • ss jest dwóch cyfr numeru, od 00 do 59, która reprezentuje sekundy.

  • n * zero do siedmiu cyfr liczbę z zakresu od 0 do 9999999 reprezentującą ułamków sekund są.

  • minimum 19 stanowiska (RRRR MM-DD gg: mm: ss) do 27 maksymalna (hh:mm:ss.0000000 RRRR MM-DD)

Aby uzyskać więcej informacji na temat SQL Server Przywracanie scenariuszy, zobacz Restore and Recovery Overview (SQL Server) i Implementing Restore Scenarios for SQL Server Databases.

Uwaga

Aby uzyskać więcej informacji na temat opisów argumentów zobacz RESTORE Arguments (Transact-SQL).

Topic link iconKonwencje składni języka Transact-SQL

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var } 
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH 
   {
        [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
    | ,  <general_WITH_options> [ ,...n ]
      | , <replication_WITH_option>
   | , <change_data_capture_WITH_option>
      | , <service_broker_WITH options> 
      | , <point_in_time_WITH_options—RESTORE_DATABASE> 
      } [ ,...n ]
 ]
[;]

--To perform the first step of the initial restore sequence
-- of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var } 
   <files_or_filegroups> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
      PARTIAL, NORECOVERY 
      [  , <general_WITH_options> [ ,...n ] 
       | , <point_in_time_WITH_options—RESTORE_DATABASE> 
      ] [ ,...n ] 
[;]

--To Restore Specific Files or Filegroups: 
RESTORE DATABASE { database_name | @database_name_var } 
   <file_or_filegroup> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
   {
      [ RECOVERY | NORECOVERY ]
      [ , <general_WITH_options> [ ,...n ] ]
      } [ ,...n ] 
[;]

--To Restore Specific Pages: 
RESTORE DATABASE { database_name | @database_name_var } 
   PAGE = 'file:page [ ,...n ]' 
  [ , <file_or_filegroups> ] [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
          NORECOVERY   
            [ , <general_WITH_options> [ ,...n ] ]
[;]

--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var } 
 [ <file_or_filegroup_or_pages> [ ,...n ] ]
 [ FROM <backup_device> [ ,...n ] ] 
 [ WITH 
   {
     [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
    | ,  <general_WITH_options> [ ,...n ]
    | , <replication_WITH_option>
        | , <point_in_time_WITH_options—RESTORE_LOG> 
      } [ ,...n ]
 ] 
[;]

--To Revert a Database to a Database Snapshot:   
RESTORE DATABASE { database_name | @database_name_var } 
FROM DATABASE_SNAPSHOT = database_snapshot_name 

<backup_device>::=
{ 
   { logical_backup_device_name |
            @logical_backup_device_name_var }
 | { DISK | TAPE } = { 'physical_backup_device_name' |
            @physical_backup_device_name_var } 
} 

<files_or_filegroups>::= 
{ 
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var } 
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } 
 | READ_WRITE_FILEGROUPS
} 

<general_WITH_options> [ ,...n ]::= 
--Restore Operation Options
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' 
          [ ,...n ] 
 | REPLACE 
 | RESTART 
 | RESTRICTED_USER 

--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number } 
 | PASSWORD = { password | @password_variable } 

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable } 
 | BLOCKSIZE = { blocksize | @blocksize_variable } 

--Data Transfer Options
 | BUFFERCOUNT = { buffercount | @buffercount_variable } 
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
 | { CHECKSUM | NO_CHECKSUM } 
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR } 

--Monitoring Options
 | STATS [ = percentage ] 

--Tape Options
 | { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD } 

<replication_WITH_option>::=
 | KEEP_REPLICATION 

<change_data_capture_WITH_option>::=
 | KEEP_CDC

<service_broker_WITH_options>::= 
 | ENABLE_BROKER 
 | ERROR_BROKER_CONVERSATIONS 
 | NEW_BROKER 


<point_in_time_WITH_options—RESTORE_DATABASE>::= 
 | {
     STOPAT = { 'datetime'| @datetime_var } 
  | STOPATMARK = { 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = {  'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
      } 

<point_in_time_WITH_options—RESTORE_LOG>::= 
 | {
      STOPAT = { 'datetime'| @datetime_var } 
  | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
      } 

Argumenty

Opis argumentów można znaleźć w temacie RESTORE Arguments (Transact-SQL).

Remarks

Wszystkie inne precisions wymaga 8 bajtów.

Podczas przywracania w trybie offline, jeżeli określona baza danych jest używana, instrukcja RESTORE wymusza wyłączenie użytkowników po krótkim opóźnieniu.W wypadku przywracania w trybie online grupy plików niebędącej grupą podstawową baza danych może być używana z wyjątkiem czasu, gdy przywracana grupa plików jest przełączana do trybu offline.Wszelkie dane w określonej bazie danych zostaną zastąpione przywróconymi danymi.

Aby uzyskać więcej informacji na temat odzyskiwanie bazy danych zobacz Understanding How Restore and Recovery of Backups Work in SQL Server i Implementing Restore Scenarios for SQL Server Databases.

Operacje przywracania między platformami, nawet takie, w których typy procesorów są różne, mogą być wykonywane, pod warunkiem, że system operacyjny obsługuje sortowanie bazy danych.

Instrukcję RESTORE można uruchomić ponownie po błędzie.Dodatkowo można polecić instrukcji RESTORE, aby kontynuowała działanie pomimo błędów. Przywróci wówczas maksymalną możliwą ilość danych (zobacz opcję CONTINUE_AFTER_ERROR).Aby uzyskać więcej informacji, zobacz Responding to SQL Server Restore Errors Caused by Damaged Backups.

Ten format nie jest zagrożony zestaw języka i regionalny zestaw DATEFORMAT sesja.

Przywracanie uszkodzone wzorzec bazy danych jest wykonywane przy użyciu specjalnej procedury.Aby uzyskać więcej informacji zobaczConsiderations for Restoring the master Database.

Backups created with Microsoft SQL Server cannot be restored to an earlier version of SQL Server.

Przywracanie bazy danych powoduje wyczyszczenie pamięci podręcznej plan dla wystąpienie SQL Server. Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich planów późniejsze wykonanie i może spowodować nagłe, tymczasowe spadek wydajności kwerendy.Od dnia SQL Server 2005 Z dodatkiem usługa Pack 2 dla każdego cachestore wyczyszczone w pamięci podręcznej planu, SQL Server Dziennik błędów zawiera następujący komunikat informacyjny: "SQL Server Napotkano %d zamieniono cachestore opróżniania dla cachestore '% s' (część pamięci podręcznej plan) ze względu na pewne konserwacji bazy danych lub ponownie skonfigurować operacji".Ten komunikat jest rejestrowany co pięć minut, dopóki bufor jest opróżniany w tym przedziale czas.

The database being restored must be at least version 80 (SQL Server 2000) to restore to SQL Server 2008.SQL Server 2000 or SQL Server 2005 databases that have a compatibility level less than 80 will be set to compatibility 80 when restored.

Uwaga

Po przywróceniu bazy danych SQL Server 2005 lub SQL Server 2000 do programu SQL Server 2008 baza danych jest dostępna natychmiast i jest automatycznie uaktualniana.Jeśli baza danych zawiera indeksy pełnotekstowe, proces uaktualniania importuje je, resetuje lub odbudowuje w zależności od ustawienia właściwości serwera upgrade_option.Jeśli opcja uaktualnienia zostanie określona jako import (upgrade_option = 2) lub odbudowanie (upgrade_option = 0), indeksy pełnotekstowe będą niedostępne w czasie uaktualniania.W zależności od ilości indeksowanych danych importowanie może trwać kilka godzin, a odbudowywanie do dziesięciu razy dłużej.Jeśli opcja uaktualnienia zostanie określona jako import, skojarzone indeksy pełnotekstowe zostaną odbudowane, jeśli wykaz pełnotekstowy będzie niedostępny.Aby zmienić ustawienie właściwości serwera upgrade_option, należy użyć instrukcji sp_fulltext_service.

Scenariusze przywracania

Program SQL Server obsługuje różnorodne scenariusze przywracania:

  • Pełne przywracanie bazy danych

    Przywraca całą bazę danych, rozpoczynając od pełnej kopii zapasowej bazy danych, po czym może mieć miejsce przywrócenie różnicowej kopii zapasowej bazy danych (i kopii zapasowych dzienników).Aby uzyskać więcej informacji, zobacz Performing a Complete Database Restore (Simple Recovery Model) lub Performing a Complete Database Restore (Full Recovery Model).

  • Przywracanie plików

    Przywraca plik lub grupę plików w bazie danych z wieloma grupami plików.Należy pamiętać, że w modelu prostego odzyskiwania plik musi należeć do grupy plików tylko do odczytu.Po pełnym przywracaniu plików może zostać przywrócona różnicowa kopia zapasowa plików.Aby uzyskać więcej informacji, zobacz Performing File Restores (Full Recovery Model) i Performing File Restores (Simple Recovery Model).

  • To ciąg danych, które będą szyfrowane przy użyciu klucz asymetrycznego.

    Przywraca pojedyncze strony.Przywracanie stron jest dostępne jedynie w modelach przywracania pełnego i z rejestrowaniem zbiorczym.Aby uzyskać więcej informacji, zobacz Performing Page Restores.

  • Szyfrowanie i odszyfrowywanie kluczem asymetrycznego jest bardzo kosztowne w porównaniu z szyfrowania i odszyfrowywania klucz zawartości.

    Firma Microsoft zaleca, aby nie szyfrowania dużych zestawów danych, takich jak dane użytkownika w tabelach, za pomocą klucz asymetryczne.Zamiast tego należy szyfrować dane przy użyciu silnego klucz symetrycznego i szyfrowania symetrycznego klucz przy użyciu klucz asymetryczne.Aby uzyskać więcej informacji zobaczPerforming Piecemeal Restores.

  • Tylko odzyskiwanie

    Przywraca dane, które są już spójne z bazą danych i wymagają jedynie udostępnienia.Aby uzyskać więcej informacji, zobacz Recovering a Database Without Restoring Data.

  • Zwraca jeden wiersz dla każdego głównego serwera, będące częścią tokenem logowania.

    Identyfikator głównej.Aby uzyskać więcej informacji na temat przywracania kopii zapasowych dziennika Zobacz Applying Transaction Log Backups.

  • Identyfikator zabezpieczeń głównej.

    Aby uzyskać więcej informacji zobaczHow to: Prepare a Mirror Database for Mirroring (Transact-SQL).

  • Tworzy i konserwuje serwer rezerwy.Aby uzyskać więcej informacji na temat serwerów rezerwy, zobacz Using Warm Standby Servers.

Nazwa głównej.

Poniższe słowa kluczowe zostały już w SQL Server 2008:

Słowo kluczowe zaniechanej

Zastąpiona by…

Przykład zastąpienia słowo kluczowe

OBCIĄŻENIE

PRZYWRACANIE

RESTORE DATABASE

TRANSAKCJA

DZIENNIK

RESTORE LOG

DBO_ONLY

RESTRICTED_USER

RESTORE DATABASE ...WITH RESTRICTED_USER

Zapotrzebowanie na przywracanie bazy danych zaszyfrowanych

Aby przywrócić bazę danych, które są szyfrowane, użytkownik musi mieć dostęp do certyfikat lub klucz asymetrycznego, który został użyty do zaszyfrowania bazy danych.Bez certyfikat i klucz asymetrycznego nie można przywrócić bazy danych.W rezultacie certyfikat, który jest używany do szyfrowanie klucz szyfrowanie bazy danych muszą być przechowywane tak długo, jak Kopia zapasowa jest potrzebny.Aby uzyskać więcej informacji zobaczSQL Server Certificates and Asymmetric Keys.

Włączone baz danych dla vardecimal format magazynu

Tworzenie kopia zapasowa i przywracanie działają poprawnie z vardecimal format przechowywania. Aby uzyskać więcej informacji na temat vardecimal format przechowywania, zobacz Przechowywanie danych dziesiętny jako zmienna długość.

Porównanie odzyskiwanie i nie odzyskiwanie

wycofać jest kontrolowany przez Przywracanie instrukcja za pośrednictwem [przywrócenia | NORECOVERY] opcje:

  • NORECOVERY określa nie wystąpi ponownie tej listy.Dzięki temu przenieść na przyszły okres kontynuować z następną instrukcję w sekwencji.

    W takim przypadek sekwencja przywracanie można przywrócić pozostałe kopie zapasowe i przywracać je do przodu.

  • odzyskiwanie (ustawienie domyślne) wskazuje ponownie tej listy należy wykonać po zakończeniu przenieść na przyszły okres do bieżącej kopia zapasowa.

    Odzyskiwanie bazy danych wymaga, aby cały zestaw danych może być przywrócony ( zestaw do przeniesienia na przyszły okres) jest to zgodne z bazą danych.Jeśli zestaw przenieść na przyszły okres ma nie został jej do przodu tyle daleko do zgodne z bazą danych i przywrócenia jest określony, Database Engine wystawia błąd.

Ponawianie operacji przywracanie

Cofanie skutki przywracanie nie jest możliwe; jednak zanegować skutki kopii danych i przenieść na przyszły okres przez uruchomienie za pośrednictwem na podstawie na pliku.Aby zacząć od nowa, przywrócić żądany plik, a następnie ponownie wykonać przenieść na przyszły okres.Na przykład jeśli przypadkowo przywrócone zbyt wiele kopii zapasowych dziennika i przekroczona programu przeznaczonego zatrzymywanie punkt, należy ponownie uruchomić sekwencję.

Sekwencja przywracanie może być przerwana i ponownego uruchomienia, przywracając całą zawartość plików, których dotyczy luka.

przywracanie dane tekstowe pełny dupleks

Dane pełnego tekstu są przywracane razem z innymi danymi bazy danych podczas pełnego przywracanie.Za pomocą regularne RESTORE DATABASE database_name FROM backup_device Składnia, pliki pełnego tekstu są przywracane w ramach Przywracanie plik bazy danych.

Instrukcja przywracanie można także używać do wykonywania przywraca z lokalizacji alternatywnej, przywraca różnicowa, przywracanie plików i grupa plików i różnicowe przywracanie plików i grupa plików danych pełnego tekstu.Ponadto przywracanie można przywrócić pliki pełnego tekstu, jak również, jak w przypadku danych pochodzących z bazy danych.

Uwaga

Zaimportowane z wykazów pełnego tekstu SQL Server 2005 lub SQL Server 2000 nadal są traktowane jako pliki bazy danych. Dla tych opcji SQL Server 2005 Procedura kopia zapasowa katalogów pełnego tekstu pozostaje zastosowanie, z tą różnicą, że wstrzymywanie i wznawianie podczas operacji tworzenia kopia zapasowa są już potrzebne. Aby uzyskać więcej informacji zobacz Tworzenie kopii zapasowych i przywracanie katalogi Full-Text in SQL Server 2005 Książki online.

Ustawienia bazy danych i przywracanie

Podczas przywracanie, większość opcji bazy danych, które są do ustawienia, przy użyciu instrukcji ALTER DATABASE są resetowane do wartości obowiązujące w czas zakończenia wykonywania kopia zapasowa.

Uwaga

To zachowanie różni się od wersji SQL Server przed SQL Server 2000.

Jednak za pomocą opcji WITH RESTRICTED_USER zastępuje to zachowanie dla ustawienia opcji dostępu użytkownika.To ustawienie jest zawsze ustawiona po instrukcja przywracanie, która zawiera opcję RESTRICTED_USER WITH.

kopia zapasowa i przywracanie tabel historii

SQL Server obejmuje tworzenie kopii zapasowych i przywracanie tabel historia, śledzić kopia zapasowa i przywracania czynności dla każdego wystąpienie serwera.Podczas wykonywania operacji przywracanie tabel historia kopia zapasowa są również modyfikowane.Aby uzyskać informacje na temat tych tabel zobacz Viewing Information About Backups.

przywracanie DZIENNIK

Dziennik przywracanie może zawierać listę plików, aby zezwolić na tworzenie plików podczas przenieść na przyszły okres.Ta jest używana podczas kopia zapasowa dziennika zawiera rekordy dziennika zapisywane podczas dodawania pliku do bazy danych.

Uwaga

W przypadku bazy danych przy użyciu modelu odzyskiwanie Pełny lub jest rejestrowane zbiorczej w większości przypadków trzeba utworzyć kopię zapasową ogona dziennika przed przywróceniem bazy danych.Przywracanie bazy danych bez pierwszego tworzenia kopii zapasowej ogona dziennik wyniki błąd, chyba że instrukcja RESTORE DATABASE zawiera WITH REPLACE lub klauzula WITH STOPAT, w której należy określić czas lub transakcji, które wystąpiły po zakończeniu wykonywania kopia zapasowa danych.Aby uzyskać więcej informacji na temat ogona dziennika kopii zapasowych Zobacz Tail-Log Backups.

Przywracanie w trybie online

Uwaga

przywracanie w trybie online jest dozwolony tylko w SQL Server 2005 Enterprise Edition i jego nowszych wersjach.

W przypadku gdy online przywracanie jest obsługiwany, jeśli baza danych jest w trybie online, przywrócenie pliku i przywraca strona są przywraca automatycznie w trybie online, a także, przywraca grupa plików pomocniczych po początkowym etapie przywracanie fragmentaryczne.

Uwaga

Przywraca online może dotyczyć odroczonych transakcji.

Aby uzyskać więcej informacji zobaczPerforming Online Restores.

przywracanie fragmentaryczne

Piecemeal restore, which was new in SQL Server 2005, enhances Microsoft SQL Server 2000 partial restore.przywracanie fragmentaryczne umożliwia filegroups zostały przywrócone po początkowym przywracania częściowe podstawowego i niektóre filegroups pomocniczego.Filegroups, które nie są przywracane są oznaczane w trybie offline i nie są dostępne.Filegroups trybu offline, jednak można przywrócić później przez proces przywracanie pliku.Aby zezwolić na całą bazę danych do przywrócenia etapami w różnym czasie, przywracanie fragmentaryczne zachowania kontroli, aby zapewnić, że w bazie danych będzie zgodne w końcu.

Uwaga

W SQL Server 2000, częściowo przywracanie można przeprowadzać tylko z wykonać pełną kopię zapasową bazy danych. Ograniczenie to zostało usunięte w SQL Server 2005.

Jeżeli sekwencja częściowe przywracanie wyklucza jedną FILESTREAM grupa plików, punkt - w-czas przywracanie nie jest obsługiwana.Można wymusić sekwencja przywracanie, aby kontynuować.Jednak filegroups FILESTREAM, które zostały pominięte z instrukcja przywracanie nigdy nie mogą być przywracane.Aby wymusić przywracanie punktu w czasie, należy określić opcję CONTINUE_AFTER_ERROR wraz z opcją STOPAT, STOPATMARK lub STOPBEFOREMARK, które należy również określić w sieci kolejne instrukcje przywracanie dziennik.Jeśli określisz CONTINUE_AFTER_ERROR sekwencji częściowe przywracanie kończy się powodzeniem, i grupa plików FILESTREAM staje się nieodwracalny.

Aby uzyskać więcej informacji na temat przywracanie fragmentaryczne zobacz Performing Piecemeal Restores.

Przywracanie bazy danych w celu migawka bazy danych

A Przywracanie bazy danych (określona przy użyciu opcji DATABASE_SNAPSHOT) ma pełną źródłowa baza danych z powrotem w czas poprzez powrót do czas migawki bazy danych, oznacza to, zastępując źródłowa baza danych przy użyciu danych z punktem w czas utrzymywane w migawce określonej bazy danych.Obecnie może istnieć tylko migawka, której przywracanie.Następnie operacji przywracania odbudowania dziennika (dlatego nie można później kręć do przodu wycofanej bazy danych do momentu błąd użytkownika).

Utrata danych jest ograniczona do aktualizacji w bazie danych od czasu utworzenia migawka firmy.Metadane wycofanej bazy danych jest taka sama, jak metadane na czas utworzenia migawki.Jednak przywracanie migawka porzuca wszystkie katalogi pełnego tekstu.

Powrót z migawka bazy danych nie jest przeznaczony dla odzyskiwanie nośnika.W odróżnieniu od zwykłych kopia zapasowa, migawka bazy danych jest niekompletna kopia plików bazy danych.Jeśli w bazie danych lub migawka bazy danych jest uszkodzony, powrót z migawki jest może być niemożliwe.Ponadto nawet wtedy, gdy jest to możliwe, przywracanie w przypadku uszkodzenia jest mało prawdopodobne, aby rozwiązać ten problem.

Ograniczenia dotyczące powracanie

Przywracanie jest obsługiwana w następujących warunkach:

  • Źródłowa baza danych zawiera wszelkie filegroups tylko do odczytu lub skompresowany.

  • Wszystkie pliki są w trybie offline, były w trybie online podczas tworzenia migawka.

  • Istnieje więcej niż jednej kopii bazy danych.

Aby uzyskać więcej informacji zobaczPowrót do migawka bazy danych.

Uprawnienia

Jeśli przywracana baza danych nie istnieje, użytkownik musi mieć uprawnienia Tworzenie bazy danych, aby możliwe było wykonać przywracanie.Jeśli baza danych istnieje, uprawnienia przywracanie Domyślnie członkowie sysadmin and dbcreator stałe role serwera i właściciela ( dbo) bazy danych (opcja DATABASE_SNAPSHOT Z bazy danych zawsze istnieje).

przywracanie podano uprawnień do ról, w których członkostwo informacje są zawsze dostępne na serwerze.Ponieważ członkostwem stała rola bazy danych mogą zostać sprawdzone, tylko wtedy, gdy baza danych jest dostępny i nieuszkodzone, który nie jest zawsze dostępna podczas wykonywania przywracanie członków db_owner ustalić rola bazy danych nie ma uprawnień przywracanie.

kopia zapasowa może opcjonalnie określić hasła dla zestaw nośników, zestaw kopii zapasowych lub jedno i drugie.Gdy hasło został zdefiniowany w zestawie nośników lub kopia zapasowa, należy określić poprawne hasło lub hasła w instrukcja przywracanie.Takie hasła zapobiegania operacji przywracanie nieautoryzowanego i nieautoryzowany dołącza z zestawów kopii zapasowych, przy użyciu nośnika SQL Server narzędzia. Jednak nośnik chroniony hasłem może zostać zastąpiona przez opcję FORMAT instrukcja kopia zapasowa.

Security noteSecurity Note:

Ochrony zapewnianej przez to hasło jest słabe.Jest ona przeznaczona do zapobiegania niepoprawne przywracanie za pomocą SQL Server narzędzia autoryzowanych lub nieautoryzowanych użytkowników. To nie zapobiega odczyt z kopia zapasowa danych w inny sposób lub zastąpienia hasło.This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Najlepsze praktyki ochrony kopia zapasowa s jest przechowywanie kopia zapasowa taśmy w bezpiecznej lokalizacji, albo z powrotem do plików na dysku, które są chronione przez odpowiedni dostęp kontroli list (kontroli dostępu ACL).W głównym katalogu, w których są tworzone kopie zapasowe należy ustawić listy ACL.

Przykłady

Uwaga

The AdventureWorks database is shown for illustration.AdventureWorks is one of the sample databases in SQL Server.Adventure Works Cycles is a fictional manufacturing company used to demonstrate database concepts and scenarios. Aby uzyskać więcej informacji na temat tej bazy danych zobacz AdventureWorks przykładowe bazy danych.

Wszystkie przykładach założono, że przeprowadzono wykonać pełną kopię zapasową bazy danych.

Następujące przykłady przywracanie:

  • A.Przywracanie pełnego bazy danych

  • B.Przywracanie pełnej i różnicowej kopii zapasowej bazy danych

  • C.Przywracanie bazy danych przy użyciu składni RESTART

  • D.Przywracanie bazy danych i przenoszenie plików

  • E.Kopiowanie bazy danych przy użyciu kopia zapasowa i przywracanie

  • F.Przywracanie do punktu w czasie przy użyciu STOPAT

  • G.Przywracanie do znacznika dziennik transakcji

  • H.Przywracanie przy użyciu składni TAPE

  • I.Przywracanie przy użyciu składni FILE i grupa plików

  • J.Powrót z migawka bazy danych

Uwaga

Dodatkowe przykłady Zobacz Examples of Restore Sequences for Several Restore Scenarios i również są wyświetlane w instrukcjami tematy przywracanie Backing Up and Restoring How-to Topics (Transact-SQL).

A.Przywracanie pełnego bazy danych

W poniższym przykładzie przywraca wykonać pełną kopię zapasową bazy danych z AdventureWorksBackups urządzenie logiczne, kopia zapasowa. Przykład tworzenia tego urządzenia można znaleźć w temacie Urządzenia kopia zapasowa.

RESTORE DATABASE AdventureWorks 
   FROM AdventureWorksBackups

Uwaga

W przypadku bazy danych przy użyciu pełnego lub zarejestrowane zbiorczej model odzyskiwanie, SQL Server wymaga w większości przypadków, które wykonują kopię zapasową ogona dziennika przed przywróceniem bazy danych. Aby uzyskać więcej informacji zobaczTail-Log Backups.

[Górnej części Przykłady]

B.Przywracanie pełnej i różnicowej kopii zapasowej bazy danych

W poniższym przykładzie przywraca wykonać pełną kopię zapasową bazy danych różnicowa kopia zapasowa, z której następuje Z:\SQLServerBackups\AdventureWorks.bak urządzenie kopii zapasowej, które zawiera zarówno kopie zapasowe. kopia zapasowa pełnego bazy danych do przywrócenia jest szóstym zestaw na (urządzenie kopii zapasowychFILE = 6), i kopia zapasowa różnicowe bazy danych jest dziewiąta zestaw na (urządzenie kopii zapasowychFILE = 9). Zaniechanej przywracanie słowa kluczowe

RESTORE DATABASE AdventureWorks
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH FILE = 9
      RECOVERY;

[Górnej części Przykłady]

C.Przywracanie bazy danych przy użyciu składni RESTART

W poniższym przykładzie użyto RESTART Opcja ponownego RESTORE Operacja została przerwana z powodu awarii zasilania serwera.

-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks 
   FROM AdventureWorksBackups WITH RESTART

[Górnej części Przykłady]

D.Przywracanie bazy danych i przenoszenie plików

W poniższym przykładzie przywraca zapełnienie dziennika bazy danych i transakcji i przenosi przywróconej bazy danych do C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data katalog.

RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups
   WITH NORECOVERY, 
      MOVE 'AdventureWorks_Data' TO 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', 
      MOVE 'AdventureWorks_Log' 
TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf'
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY

[Górnej części Przykłady]

E.Kopiowanie bazy danych przy użyciu kopia zapasowa i przywracanie

W poniższym przykładzie zastosowano zarówno instrukcję BACKUP, jak i RESTORE do utworzenia kopii bazy danych AdventureWorks.Instrukcja MOVE powoduje przywrócenie danych i pliku dziennika w określonej lokalizacji.Instrukcja RESTORE FILELISTONLY służy do określania liczby i nazw plików w przywracanej bazie danych.Nowa kopia bazy danych otrzymuje nazwę TestDB.Aby uzyskać więcej informacji, zobacz RESTORE FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks 
   TO AdventureWorksBackups ;

RESTORE FILELISTONLY 
   FROM AdventureWorksBackups ;

RESTORE DATABASE TestDB 
   FROM AdventureWorksBackups 
   WITH MOVE 'AdventureWorks_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

[Górnej części Przykłady]

F.Przywracanie do punktu w czasie przy użyciu STOPAT

W poniższym przykładzie przywraca stan w bazie danych 12:00 AM na April 15, 2020 i pokazuje operacji przywracanie, który obejmuje wiele kopii zapasowych dziennika. Na tym urządzeniu, AdventureWorksBackups, trzeciego zestawu na (urządzenie kopii zapasowych jest pełna bazy danych kopia zapasowa dziennika do przywróceniaFILE = 3), najpierw kopię zapasową dziennika jest czwarty (zestaw kopii zapasowychFILE = 4), a drugiej kopii zapasowych dziennika jest piątym (zestaw kopii zapasowychFILE = 5).

RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=3, NORECOVERY;

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY; 

[Górnej części Przykłady]

G.Przywracanie do znacznika dziennik transakcji

Because there might be CLR functions, stored procedures, triggers, data types, and user-defined aggregate functions in the instance of ListPriceUpdate that are already defined against the assembly, the ALTER ASSEMBLY statement rebinds them to the latest implementation of the assembly.

USE AdventureWorks
GO
BEGIN TRANSACTION ListPriceUpdate
   WITH MARK 'UPDATE Product list prices';
GO

UPDATE Production.Product
   SET ListPrice = ListPrice * 1.10
   WHERE ProductNumber LIKE 'BK-%';
GO

COMMIT TRANSACTION ListPriceUpdate;
GO

-- Time passes. Regular database 
-- and log backups are taken.
-- An error occurs in the database.
USE master
GO

RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups 
   WITH FILE = 4,
   RECOVERY, 
   STOPATMARK = 'ListPriceUpdate';

[Górnej części Przykłady]

H.Przywracanie przy użyciu składni TAPE

W poniższym przykładzie przywraca wykonać pełną kopię zapasową bazy danych z TAPE urządzenie kopia zapasowa.

RESTORE DATABASE AdventureWorks 
   FROM TAPE = '\\.\tape0'

[Górnej części Przykłady]

I.Przywracanie przy użyciu składni FILE i grupa plików

Poniższy przykład ilustruje przywracanie bazy danych o nazwie MyDatabase zawierającej dwa pliki, jedną pomocniczą grupę plików i jeden dziennik transakcji.W bazie danych jest używany model pełnego odzyskiwania.

However, MyDatabaseBackups does not guarantee that computed columns, indexes, indexed views or expressions will be consistent with the underlying routines and types when the CLR assembly is updated. Następnie zalogować się trzy kopie zapasowe, które znajdują się w trzech kolejnych zestawów kopii zapasowych (10, 11, a 12) na MyDatabaseBackups urządzenia, zostaną przywrócone za pomocą WITH NORECOVERY. ALTER ASSEMBLY changes the assembly version.

Uwaga

The culture and public key token of the assembly remain the same.

W RESTORE DATABASE, należy zauważyć, że istnieją dwa typy FILE Opcje. The FILE options preceding the urządzenie kopia zapasowa name specify the logical file names of the database files that are to be restored from the zestaw kopii zapasowych; for example, FILE = 'MyDatabase_data_1'. ALTER ASSEMBLY fails when FILE cannot rebind WITH database objects in FILE=9 with the new version of the assembly.

RESTORE DATABASE MyDatabase
   FILE = 'MyDatabase_data_1',
   FILE = 'MyDatabase_data_2',
   FILEGROUP = 'new_customers'
   FROM MyDatabaseBackups
   WITH 
      FILE = 9,
      NORECOVERY;
GO
-- Restore the log backups.
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 10, 
      NORECOVERY;
GO
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 11, 
      NORECOVERY;
GO
RESTORE LOG MyDatabase
   FROM MyDatabaseBackups
   WITH FILE = 12, 
      NORECOVERY;
GO
--Recover the database:
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO

[Górnej części Przykłady]

J.Powrót z migawka bazy danych

Poniższy przykład ilustruje przywracanie bazy danych do migawki bazy danych.W przykładzie przyjęto założenie, że w bazie danych istnieje tylko jedna migawka.Aby zapoznać się z przykładem sposobu tworzenia tej migawki bazy danych, zobacz Jak Utworzyć migawka bazy danych (języka Transact-SQL).

Uwaga

Przywracanie do migawki powoduje porzucenie wszystkich wykazów pełnotekstowych.

USE master  
RESTORE DATABASE AdventureWorks FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

Aby uzyskać więcej informacji zobacz Powrót do migawka bazy danych.

[Górnej części Przykłady]