Udostępnij za pośrednictwem


Jak Przywróć bazę danych na migawka bazy danych (języka Transact-SQL)

Migawki bazy danych nie są zbędne magazynowania i w wyniku nie zawierają żadnych ochronę przed błędy na dysku lub inne uszkodzenia.Niemniej jednak, gdy wystąpi błąd użytkownika w bazie danych online, można przywrócić bazy danych migawka bazy danych które poprzedza błędu.

Important noteImportant Note:

Biorąc pod regularnego tworzenia kopii zapasowych i przywracanie planu testowania są niezbędne do ochrony bazy danych.Jeśli konieczne jest przywrócenie bazy danych źródłowych do punktu w czas, w którym utworzono migawka bazy danych, wykonania kopia zapasowa zasady, które można w tym celu.

Przywracanie zastępuje oryginalny urządzenie źródłowe bazę danych z wycofanej bazy danych.Powrót do migawka porzuca wszystkie katalogi pełnego tekstu.

Important noteImportant Note:

Zanim przywracanie, użytkownik powinien zapoznać się z informacji Powrót do migawka bazy danych.

Aby przywrócić bazę danych na migawka bazy danych

  1. Zidentyfikuj migawka bazy danych, do którego chcesz przywrócić bazy danych.Można przeglądać migawek na bazę danych programu SQL Server Management Studio (zobacz Jak Wyświetlić migawka bazy danych (SQL Server Management Studio)). Ponadto można zidentyfikować urządzenie źródłowe bazy danych w widoku z urządzenie źródłowe _database_id kolumnasys.Databases (języka Transact-SQL) Służy do wyświetlania katalogu.

  2. Usuwanie drugiej migawki bazy danych.

    Aby uzyskać informacje na temat upuszczanie migawek zobacz How to: Drop a Database Snapshot (Transact-SQL). Jeśli baza danych używa pełny model odzyskiwanie, zanim przywracanie, należy wykonać kopię zapasową dziennika.Aby uzyskać więcej informacji zobacz How to: Back Up a Transaction Log (SQL Server Management Studio) lub How to: Back Up the Transaction Log When the Database Is Damaged (Transact-SQL).

  3. Wykonywanie operacji przywracania.

    Operacja przywracanie wymaga uprawnień przywracanie DATABASE na urządzenie źródłowe bazy danych.Aby przywrócić bazę danych, należy użyć następującej instrukcja języka Transact-SQL:

    RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT =<database_snapshot_name>

    Gdzie <nazwa_bazy_danych> to urządzenie źródłowe bazy danych i <database_snapshot_name> jest to nazwa migawka, do którego chcesz przywrócić bazy danych. Należy zauważyć, że w niniejszych zasadach, należy określić nazwę migawka zamiast urządzenie kopia zapasowa.

    Aby uzyskać więcej informacji zobacz przywracanie (języka Transact-SQL).

    Uwaga

    Podczas operacji przywracania, zarówno migawkę oraz urządzenie źródłowe bazy danych są niedostępne.Obie bazy danych źródłowych i migawka są oznaczone jako "W przywracanie. „ Jeżeli błąd wystąpi podczas operacji przywracania, próbuje zakończyć przywracanie, gdy baza danych jest ponownie uruchamiany.

  4. Właściciel bazy danych zmianie od czasu utworzenia migawka bazy danych, można zaktualizować bazy danych właściciela wycofanej bazy danych.

    Uwaga

    W bazie danych wycofanej zachowuje uprawnień i konfiguracja (takie jak właściciel bazy danych i model odzyskiwanie) migawka bazy danych.

  5. Uruchom w bazie danych.

  6. Szczególnie wtedy, gdy korzysta z modelu odzyskiwanie Pełny (lub zarejestrowane zbiorcze) opcjonalnie kopię zapasową wycofanej bazy danych.Aby uzyskać informacje o tworzeniu kopii zapasowej bazy danych zobacz How to: Back Up a Database (SQL Server Management Studio) lub How to: Create a Full Database Backup (Transact-SQL).

Example

W tej sekcji znajdują się przykłady Przywracanie bazy danych w celu migawka bazy danych.

A.Przywracanie bazy danych AdventureWorks migawka

W tym przykładzie założono, to tylko jeden migawka znajduje się aktualnie na AdventureWorks Baza danych. Na przykład, który tworzy migawka do których w bazie danych jest przywrócone w tym polu, zobacz Jak Utworzyć migawka bazy danych (języka Transact-SQL).

USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from 
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

B.Przywracanie migawkę w bazie danych Sprzedaż

W tym przykładzie założono, że dwa migawek istnieje obecnie na Sprzedaż bazy danych: sales_snapshot0600 and sales_snapshot1200.W przykładzie usuwa starsze migawek i przywraca bazę danych do nowszej migawka.

Kod, do tworzenia przykładowej bazy danych i tworzenie migawek, od którego zależy ten przykład zobacz:

--Test to see if sales_snapshot0600 exists and if it 
-- does, delete it.
IF EXISTS (SELECT dbid FROM sys.databases
    WHERE NAME='sales_snapshot0600')
    DROP DATABASE SalesSnapshot0600;
GO
-- Reverting Sales to sales_snapshot1200
USE master;
RESTORE DATABASE Sales FROM DATABASE_SNAPSHOT = 'sales_snapshot1200';
GO