Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Ten temat dotyczy tylko baz danych korzystających z pełnych lub rejestrowanych zbiorczo modeli odzyskiwania.
Aby zdefiniować punkt odzyskiwania dla operacji przywracania, można użyć numeru sekwencji dziennika (LSN). Jest to jednak wyspecjalizowana funkcja przeznaczona dla dostawców narzędzi i jest mało prawdopodobne, aby być ogólnie przydatna.
Omówienie numerów sekwencji dzienników
Numery LSN są używane wewnętrznie w trakcie sekwencji RESTORE, aby śledzić punkt w czasie, do którego przywrócono dane. Po przywróceniu kopii zapasowej dane są przywracane do sieci LSN odpowiadającej punktowi w czasie, w którym utworzono kopię zapasową. Różnicowe kopie zapasowe i kopie zapasowe dzienników przyczyniają się do przesunięcia przywróconej bazy danych do późniejszego punktu w czasie, co odpowiada wyższemu LSN. Aby uzyskać więcej informacji na temat sieci LSN, zobacz Sql Server Transaction Log Architecture and Management Guide (Architektura dziennika transakcji programu SQL Server i przewodnik zarządzania).
Uwaga / Notatka
LSN to wartości typu danych numeric(25,0). Operacje arytmetyczne (na przykład dodawanie lub odejmowanie) nie są istotne i nie mogą być używane z sieciami LSN.
Wyświetlanie LSN używanych przez tworzenie kopii zapasowej i przywracanie
LSN rekordu dziennika, w którym wystąpiły zdarzenia tworzenia kopii zapasowej i przywracania, można wyświetlić przy użyciu jednego lub więcej spośród poniższych elementów:
Uwaga / Notatka
LSNy pojawiają się również w niektórych komunikatach dziennika błędów.
Transact-SQL Składnia przywracania do LSN
Używając instrukcji RESTORE, można zatrzymać się na pozycji LSN lub bezpośrednio przed nią, w następujący sposób:
Użyj klauzuli WITH STOPATMARK ='lsn:<lsn_number>', gdzie lsn:<lsnNumber> jest ciągiem określającym, że rekord dziennika zawierający określony LSN jest punktem odzyskiwania.
STOPATMARK przesuwa się do przodu do LSN i włącza ten zapis dziennika do przesuwania do przodu.
Użyj klauzuli WITH STOPBEFOREMARK ='lsn:<lsn_number>', gdzie lsn:<lsnNumber> jest ciągiem określającym, że rekord dziennika bezpośrednio przed rekordem dziennika zawierającym określony numer LSN jest punktem odzyskiwania.
STOPBEFOREMARK jest przerzucany do sieci LSN i wyklucza ten rekord dziennika z rzutowania do przodu.
Zazwyczaj wybrana jest określona transakcja, która ma zostać uwzględniona lub wykluczona. Chociaż nie jest to wymagane, w praktyce określony rekord dziennika jest rekordem zatwierdzenia transakcji.
Przykłady
W poniższym przykładzie przyjęto założenie, że baza danych AdventureWorks została zmieniona, aby korzystała z pełnego modelu odzyskiwania.
RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'
WITH STOPATMARK = 'lsn:15000000040000037'
GO
Powiązane zadania
przywracanie kopii zapasowej bazy danych przy użyciu programu SSMS
przywracanie kopii zapasowej dziennika transakcji (SQL Server)
Przywracanie bazy danych do punktu awarii w ramach modelu pełnego odzyskiwania (Transact-SQL)
Przywracanie bazy danych do oznaczonej transakcji (SQL Server Management Studio)
Przywracanie bazy danych programu SQL Server do punktu w czasie (pełny model odzyskiwania)
Treści powiązane
- stosowanie kopii zapasowych dziennika transakcji (SQL Server)
- Dziennik transakcji
- RESTORE Instrukcje (Transact-SQL)
- Przywracanie i odzyskiwanie (SQL Server) — omówienie
- Przewodnik po architekturze i zarządzaniu dziennikiem transakcji programu SQL Server