Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema ist nur für Datenbanken relevant, die markierte Transaktionen enthalten, und die vollständigen oder massendatenprotokollierten Wiederherstellungsmodelle verwenden.
Informationen zu den Anforderungen für die Wiederherstellung zu einem bestimmten Wiederherstellungspunkt finden Sie unter Wiederherstellen einer SQL Server-Datenbank zu einem Zeitpunkt (vollständiges Wiederherstellungsmodell).
SQL Server unterstützt das Einfügen benannter Markierungen in das Transaktionsprotokoll, um die Wiederherstellung auf diese bestimmte Markierung zu ermöglichen. Protokollmarkierungen sind transaktionsspezifisch und werden nur eingefügt, wenn ihre zugeordneten Transaktions-Commits ausgeführt werden. Daher können Markierungen an bestimmte Arbeiten gebunden werden, und Sie können zu einem Punkt wiederherstellen, der diese Arbeit einschließt oder ausschließt.
Bevor Sie benannte Markierungen in das Transaktionsprotokoll einfügen, beachten Sie Folgendes:
Da Transaktionsmarkierungen Protokollbereich beanspruchen, sollten Sie sie nur für Transaktionen verwenden, die eine wichtige Rolle in der Strategie zur Datenbankwiederherstellung spielen.
Wenn eine markierte Transaktion verbucht wird, wird eine Zeile in der Tabelle logmarkhistory in msdb eingefügt.
Wenn eine markierte Transaktion mehrere Datenbanken auf demselben Datenbankserver oder auf verschiedenen Servern umfasst, müssen die Markierungen in den Protokollen aller betroffenen Datenbanken aufgezeichnet werden. Weitere Informationen finden Sie unter Verwenden von markierten Transaktionen zum konsistenten Wiederherstellen verwandter Datenbanken (vollständiges Wiederherstellungsmodell).
Hinweis
Informationen zum Markieren von Transaktionen finden Sie unter Verwenden von markierten Transaktionen zum konsistenten Wiederherstellen verwandter Datenbanken (vollständiges Wiederherstellungsmodell).
Transact-SQL Syntax zum Hinzufügen von benannten Markierungen in ein Transaktionsprotokoll
Um Markierungen in die Transaktionsprotokolle einzufügen, verwenden Sie die BEGIN TRANSACTION-Anweisung und die WITH MARK [description]-Klausel. Die Marke wird mit der Transaktion identisch bezeichnet. Die optionale Beschreibung ist eine textbezogene Beschreibung der Markierung, nicht der Markenname. Beispielsweise lautet Tx1der Name der Transaktion und der in der folgenden BEGIN TRANSACTION Anweisung erstellten Markierung:
BEGIN TRANSACTION Tx1 WITH MARK 'not the mark name, just a description'
Das Transaktionsprotokoll zeichnet den Namen der Marke (Transaktionsname), Beschreibung, Datenbank, Benutzer, datetime Informationen und die Protokollsequenznummer (LSN) auf. Die datetime Informationen werden mit dem Markennamen verwendet, um die Markierung eindeutig zu identifizieren.
Informationen zum Einfügen einer Markierung in eine Transaktion, die sich über mehrere Datenbanken erstreckt, finden Sie unter Verwenden von markierten Transaktionen zum konsistenten Wiederherstellen verwandter Datenbanken (vollständiges Wiederherstellungsmodell).
Transact-SQL Syntax zur Wiederherstellung zu einer Markierung
Wenn Sie eine markierte Transaktion mithilfe einerRESTORE LOG-Anweisungals Ziel festlegen, können Sie eine der folgenden Klauseln verwenden, um an oder unmittelbar vor der Markierung zu beenden:
Verwenden Sie die WITH STOPATMARK = '
<mark_name>' -Klausel, um anzugeben, dass die markierte Transaktion der Wiederherstellungspunkt ist.STOPATMARK rollt vorwärts zur Marke und enthält die markierte Transaktion in den Roll forward.
Verwenden Sie die WITH STOPBEFOREMARK = '
<mark_name>' -Klausel, um anzugeben, dass der Protokolldatensatz, der sich unmittelbar vor der Markierung befindet, der Wiederherstellungspunkt ist.STOPBEFOREMARK rollt vorwärts zur Marke und schließt die Transaktion aus dem Roll forward aus.
Die OPTIONEN STOPATMARK und STOPBEFOREMARK unterstützen beide eine optionale AFTER datetime-Klausel . Wenn "datetime" verwendet wird, müssen die Namen von Marken nicht eindeutig sein.
Wenn AFTER datetime nicht angegeben wird, stoppt der Roll Forward beim ersten Markierungspunkt mit dem angegebenen Namen. Wenn AFTER datetime angegeben ist, stoppt roll forward bei der ersten Marke, die den angegebenen Namen hat, genau bei oder nach datetime.
Hinweis
Wie bei allen Point-in-Time-Wiederherstellungsvorgängen ist die Wiederherstellung auf eine Markierung nicht zulässig, wenn die Datenbank Vorgänge ausführt, die massenprotokolliert werden.
So stellen Sie eine markierte Transaktion wieder her
Wiederherstellen einer Datenbank bis zu einer markierten Transaktion (SQL Server Management Studio)
Vorbereiten der Protokollsicherungen
In diesem Beispiel wäre eine geeignete Sicherungsstrategie für diese verwandten Datenbanken die folgenden:
Verwenden Sie das vollständige Wiederherstellungsmodell für beide Datenbanken.
Erstellen Sie eine vollständige Sicherung jeder Datenbank.
Die Datenbanken können sequenziell oder gleichzeitig gesichert werden.
Markieren Sie vor dem Sichern des Transaktionsprotokolls eine Transaktion, die in allen Datenbanken ausgeführt wird. Informationen zum Erstellen der markierten Transaktionen finden Sie unter Verwenden von markierten Transaktionen zum konsistenten Wiederherstellen verwandter Datenbanken (Vollständiges Wiederherstellungsmodell).
Sichern Sie das Transaktionsprotokoll für jede Datenbank.
Wiederherstellung der Datenbank auf eine markierte Transaktion
So stellen Sie die Sicherung wieder her
Erstellen Sie nach Möglichkeit Tail-Log-Sicherungen der nicht beschädigten Datenbanken.
Stellen Sie die neueste vollständige Datenbanksicherung jeder Datenbank wieder her.
Identifizieren Sie die zuletzt markierte Transaktion, die in allen Transaktionsprotokollsicherungen verfügbar ist. Diese Informationen werden in der Logmarkhistory-Tabelle in der msdb-Datenbank auf jedem Server gespeichert.
Identifizieren Sie die Protokollsicherungen für alle zugehörigen Datenbanken, die diese Markierung enthalten.
Stellen Sie jede Protokollsicherung wieder her, und beenden Sie sie bei der markierten Transaktion.
Stellen Sie jede Datenbank wieder her.
Siehe auch
BEGIN TRANSACTION (Transact-SQL)
RESTORE (Transact-SQL)
Anwenden von Transaktionsprotokollsicherungen (SQL Server)
Verwenden von markierten Transaktionen zum konsistenten Wiederherstellen verwandter Datenbanken (vollständiges Wiederherstellungsmodell)
Übersicht über Wiederherstellungsvorgänge (SQL Server)
Wiederherstellen einer SQL Server-Datenbank zu einem Bestimmten Zeitpunkt (vollständiges Wiederherstellungsmodell)
Planen und Ausführen von Wiederherstellungssequenzen (vollständiges Wiederherstellungsmodell)