Udostępnij za pośrednictwem


Recovering to a Marked Transaction

W tym temacie odnosi się tylko do baz danych, która zawiera zaznaczonych transakcji i który korzysta z modelu odzyskiwanie Pełny lub jest rejestrowane zbiorczej.

Aby uzyskać informacje dotyczące wymagania dotyczące przywracania określonego punkt odzyskiwanie, zobacz Restoring a Database to a Point Within a Backup.

SQL Server obsługuje Wstawianie znaków o nazwie do dziennik transakcji w celu umożliwienia odzyskiwanie dla tego określonego znaku.Znaki dziennika są specyficzne dla transakcji i dodaje się tylko wtedy, gdy zatwierdzeniu ich skojarzonej transakcji.W wyniku znaki mogą być powiązane z określonych i można je odzyskać do punktu, który uwzględnia lub wyklucza tej pracy.

Przed wstawieniem nazwanych znaków do dziennik transakcji należy wziąć pod uwagę następujące kwestie:

  • Ponieważ znaki transakcji zajmują miejsca w dzienniku, używane są wyłącznie dla transakcji, które są odtwarzane znaczącą rolę w strategii odzyskiwanie bazy danych.

  • Po zatwierdzeniu oznaczona transakcja, wiersz jest wstawiany logmarkhistory tabela in msdb.

  • Jeżeli oznaczona transakcja obejmuje wiele baz danych na tym samym serwerze bazy danych lub na różnych serwerach, znaki muszą być rejestrowane w dziennikach wszystkich baz danych podlegających usterce.Aby uzyskać więcej informacji zobaczUsing Marked Transactions (Full Recovery Model).

Uwaga

Aby uzyskać informacje na temat zaznaczania transakcji, zobacz temat Using Marked Transactions (Full Recovery Model).

Składnia języka Transact-SQL o wstawianiu nazwanych znaków dziennik transakcji

Aby wstawić oznaczenia do dzienników transakcji, użyj instrukcji BEGIN TRANSACTION i klauzuli WITH MARK [opis].Oznaczenie ma taką samą nazwę jak transakcja.Opcjonalny argument opis to tekstowy opis oznaczenia, a nie jego nazwa.Na przykład nazwa transakcji i oznaczenia tworzona w następującej instrukcji BEGIN TRANSACTION to Tx1:

BEGIN TRANSACTION Tx1 WITH MARK 'not the mark name, just a description'  

Dziennik transakcji rejestruje nazwę znaku (nazwa transakcji), opis, bazy danych, użytkownik datetime informacje i numer sekwencyjny dziennika (LSN). The datetime information is used with the mark name to uniquely identify the mark.

Aby uzyskać informacje na temat wstawić w nie znacznik do transakcji, która obejmuje wiele baz danych zobacz Using Marked Transactions (Full Recovery Model).

Składnia języka Transact-SQL dla odzyskiwanie znaku

Oznaczona transakcja miejsce docelowe przy użyciu przywracanie DZIENNIK instrukcja, można użyć jednej następujące klauzule zatrzymać na lub zaraz przed znaku:

  • Za pomocą WITH STOPATMARK = "<mark_name>" klauzula, aby określić, że oznaczona transakcja jest punkt odzyskiwanie.

    STOPATMARK toczy się do przodu do oznaczenia i zawiera oznaczona transakcja w przenieść na przyszły okres.

  • Za pomocą WITH STOPBEFOREMARK = "<mark_name>" klauzula, aby określić, czy w dzienniku rejestrowane są bezpośrednio przed punktem odzyskiwanie jest znak.

    STOPBEFOREMARK toczy się do przodu do znaku i nie obejmuje oznaczona transakcja z przenieść na przyszły okres.

Opcje STOPATMARK i STOPBEFOREMARK obsługują po opcjonalne datetime Klauzula. Kiedy datetime jest używana, znak nazwy nie muszą być unikatowe.

Jeśli później datetime jest pominięty, rolki zatrzymuje się do przodu w pierwszym znaku, który o określonej nazwie. Jeśli później datetime jest określony, przenieść na przyszły okres zatrzymuje się przy pierwszym znaku, który o określonej nazwie, dokładnie w lub po datetime.

Uwaga

Podobnie jak w przypadku przywracanie wszystkich punkt na czas operacji odzyskiwania na znak jest niedozwolone, gdy baza danych jest poddawana operacje, które są rejestrowane zbiorczej.

Aby przywracanie do zaznaczonej transakcji

How to: Restore a Database to a Marked Transaction (SQL Server Management Studio)

przywracanie (języka Transact-SQL)

Przygotowywanie kopii zapasowych dziennika

W tym przykładzie należy posiadać odpowiednią kopia zapasowa związanych z strategii dla tych baz danych może być następujący:

  1. W przypadku obu baz danych za pomocą model pełnego odzyskiwanie.

  2. Utwórz pełna kopia zapasowa wszystkich baz danych.

    Bazy danych zapasowe mogą być kolejno lub jednocześnie.

  3. Przed utworzeniem kopii zapasowej dziennik transakcji, oznacz transakcji, która wykonuje w przypadku wszystkich baz danych.Aby uzyskać informacje o tworzeniu zaznaczonych transakcji zobacz Using Marked Transactions (Full Recovery Model).

  4. Tworzyć kopie zapasowe dziennik transakcji na każdej bazy danych.

Odzyskiwanie bazy danych do oznaczonych transakcji

Aby przywracanie kopia zapasowa

  1. Tworzenie kopie zapasowe dziennika z częścią końcową baz nieuszkodzone, jeśli jest to możliwe.

  2. przywracanie najnowszej kopia zapasowa pełnego bazy danych z każdej bazy danych.

  3. Identyfikacja ostatniego oznaczona transakcja, która jest dostępna we wszystkich kopie zapasowe dziennik transakcji.Te informacje są przechowywane w logmarkhistory tabelamsdb bazy danych na każdym serwerze.

  4. Służy do identyfikacji kopii zapasowych dziennika dla wszystkich powiązanych baz danych, które zawierają ten znak.

  5. Przywrócić kopię zapasową każdego dziennika, zatrzymanie na podstawie oznaczonej transakcji.

  6. Odzyskać każdej bazy danych.