Sichern eines Transaktionsprotokolls

Gilt für:SQL Server

In diesem Artikel wird beschrieben, wie Sie ein Transaktionsprotokoll in SQL Server mithilfe von SQL Server Management Studio, Azure Data Studio, Transact-SQL oder PowerShell sichern.

Begrenzungen

Die BACKUP Anweisung ist in einer expliziten oder impliziten Transaktion nicht zulässig. Eine explizite Transaktion ist eine Transaktion, in der Sie sowohl den Beginn als auch das Ende explizit definieren.

Transaktionsprotokollsicherungen der master Systemdatenbank werden nicht unterstützt.

Empfehlungen

Wenn eine Datenbank das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwendet, muss das Transaktionsprotokoll so oft gesichert werden, dass die Daten geschützt sind und das Transaktionsprotokoll nicht aufgefüllt wird. Dadurch wird das Protokoll gekürzt, und die Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt wird unterstützt.

Standardmäßig wird bei jedem erfolgreichen Sicherungsvorgang dem SQL Server -Fehlerprotokoll und dem Systemereignisprotokoll ein Eintrag hinzugefügt. Wenn Sie das Protokoll regelmäßig sichern, kann die Anzahl dieser Erfolgsmeldungen schnell ansteigen, d.h., es entstehen sehr große Fehlerprotokolle, die das Suchen nach anderen Meldungen erschweren können. In solchen Fällen können Sie diese Protokolleinträge mithilfe des Ablaufverfolgungskennzeichnungs 3226 unterdrücken, wenn keines Ihrer Skripts von diesen Einträgen abhängt, siehe Trace Flags (Transact-SQL).

Berechtigungen

Die erforderlichen Berechtigungen BACKUP DATABASE und BACKUP LOG werden standardmäßig den Mitgliedern der festen Serverrolle sysadmin und den festen Datenbankrollen db_owner und db_backupoperator gewährt. Überprüfen Sie, ob die richtigen Berechtigungen vorliegen, bevor Sie beginnen.

Besitz- und Berechtigungsprobleme im Zusammenhang mit der physischen Datei des Sicherungsmediums können den Sicherungsvorgang beeinträchtigen. SQL Server muss über Lese- und Schreibberechtigungen für das Medium verfügen. Das Konto, unter dem der SQL Server -Dienst ausgeführt wird, muss Schreibberechtigungen haben. Allerdings prüft die gespeicherte Prozedur sp_addumpdevice, die den Systemtabellen einen Eintrag für ein Sicherungsmedium hinzufügt, nicht die Dateizugriffsberechtigungen. Berechtigungsprobleme auf der physischen Datei des Sicherungsgeräts sind für Sie nicht offensichtlich, bis Sie versuchen, auf die physische Ressource zuzugreifen, wenn Sie versuchen, die physische Ressource zu sichern oder wiederherzustellen. Daher überprüfen Sie erneut, ob die richtigen Berechtigungen vorliegen, bevor Sie beginnen.

Verwenden Sie SQL Server Management Studio

Hinweis

Die Schritte in diesem Abschnitt gelten auch für Azure Data Studio.

  1. Nachdem Sie eine Verbindung mit der entsprechenden Instanz des SQL Server-Datenbank-Engine hergestellt haben, wählen Sie in Objekt-Explorer den Servernamen aus, um die Serverstruktur zu erweitern.

  2. Erweitern Sie Datenbanken, und wählen Sie je nach Datenbank eine Benutzerdatenbank aus, oder erweitern Sie Systemdatenbanken , und wählen Sie eine Systemdatenbank aus.

  3. Klicken Sie mit der rechten Maustaste auf die Datenbank, zeigen Sie auf "Aufgaben", und wählen Sie dann "Sichern" aus. Das Dialogfeld Datenbank sichern wird angezeigt.

  4. Überprüfen Sie den Datenbanknamen im Listenfeld Datenbank . Sie können optional eine andere Datenbank aus der Liste auswählen.

  5. Überprüfen Sie, ob als Wiederherstellungsmodell entweder FULL oder BULK_LOGGEDausgewählt wurde.

  6. Wählen Sie im Listenfeld Sicherungstyp den Eintrag Transaktionsprotokollaus.

  7. (optional) Wählen Sie "Nur Sicherung kopieren" aus, um eine kopiegeschützte Sicherung zu erstellen. Eine kopiegeschützte Sicherung ist eine SQL Server-Sicherung, die unabhängig von der Sequenz herkömmlicher SQL Server-Sicherungen ist, siehe Kopieren-only-Sicherungen.

    Hinweis

    Wenn die Differenzialoption ausgewählt ist, können Sie keine kopiegeschützte Sicherung erstellen.

  8. Akzeptieren Sie entweder den im Textfeld Name vorgeschlagenen Standardnamen für den Sicherungssatz, oder geben Sie einen anderen Namen für den Sicherungssatz ein.

  9. (optional) Geben Sie im Textfeld "Beschreibung " eine Beschreibung des Sicherungssatzes ein.

  10. Geben Sie an, wann der Sicherungssatz ablaufen soll:

    • Damit der Sicherungssatz nach einer bestimmten Anzahl von Tagen abläuft, wählen Sie "Nach" (Standardoption) aus, und geben Sie die Anzahl von Tagen nach der Festgelegtenerstellung ein, die der Satz abläuft. Dieser Wert kann zwischen 0 und 99999 Tagen betragen; ein Wert von 0 Tagen bedeutet, dass der Sicherungssatz nie abläuft.

      Der Standardwert wird im Dialogfeld Servereigenschaften (Seite Datenbankeinstellungen ) über die OptionStandardbeibehaltung für Sicherungsmedien (in Tagen) festgelegt. Klicken Sie zum Zugreifen auf dieses Dialogfeld im Objekt-Explorer mit der rechten Maustaste auf den Servernamen, und wählen Sie „Eigenschaften“ aus. Wählen Sie anschließend die Seite Datenbankeinstellungen aus.

    • Wenn der Sicherungssatz an einem bestimmten Datum abläuft, wählen Sie "Ein" aus, und geben Sie das Datum ein, an dem der Satz abläuft.

  11. Wählen Sie den Sicherungszieltyp aus, indem Sie "Datenträger", "URL" oder "Band" auswählen. Um die Pfade von bis zu 64 Datenträger- oder Bandlaufwerken auszuwählen, die einen einzelnen Mediensatz enthalten, wählen Sie "Hinzufügen" aus. Die ausgewählten Pfade werden im Listenfeld Sichern auf angezeigt.

    Um ein Sicherungsziel zu entfernen, wählen Sie es aus, und klicken Sie auf Entfernen. Um den Inhalt eines Sicherungsziels anzuzeigen, wählen Sie es aus, und wählen Sie "Inhalt" aus.

  12. Um die erweiterten Optionen anzuzeigen oder auszuwählen, wählen Sie "Optionen" im Bereich "Seite auswählen" aus.

  13. Wählen Sie eine Option "Medien überschreiben" aus, indem Sie eine der folgenden Optionen auswählen:

    • Auf vorhandenen Mediensatz sichern

      Wählen Sie für diese Option entweder "An den vorhandenen Sicherungssatz anfügen" aus, oder überschreiben Sie alle vorhandenen Sicherungssätze, siehe Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).

      • (optional) Wählen Sie " Mediensatzname überprüfen" und "Sicherungssatzablauf " aus, damit der Sicherungsvorgang das Datum und die Uhrzeit überprüft, zu dem der Mediensatz und der Sicherungssatz ablaufen.

      • (optional) Geben Sie einen Namen in das Textfeld "Mediensatzname" ein. Wenn kein Name angegeben wurde, wird ein Mediensatz mit leerem Namen erstellt. Wenn Sie einen Mediensatznamen angeben, wird überprüft, ob der tatsächliche Name des Mediums (Band oder Datenträger) mit dem eingegebenen Namen übereinstimmt.

      Wenn Sie den Mediennamen leer lassen und das Kontrollkästchen aktivieren, um ihn für die Medien zu überprüfen, entspricht der Erfolg dem Mediennamen auf dem Medium, das ebenfalls leer ist.

    • Auf neuen Mediensatz sichern und alle vorhandenen Sicherungssätze löschen

      Geben Sie für diese Option einen Namen in das Textfeld "Neuer Mediensatzname" ein, und beschreiben Sie optional den Mediensatz im Textfeld "Neue Mediensatzbeschreibung", siehe Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).

  14. Im Bereich Zuverlässigkeit können Sie folgende Optionen aktivieren:

  15. Gehen Sie unter Transaktionsprotokoll wie folgt vor:

    • Bei normalen Protokollsicherungen behalten Sie die Standardauswahl bei, also Transaktionsprotokoll durch Entfernen inaktiver Einträge abschneiden.

    • Soll das Protokollfragment gesichert werden (das aktive Protokoll), aktivieren Sie Protokollfragment sichern und Datenbank im Wiederherstellungsstatus belassen.

      Eine Protokollfragmentsicherung wird angefertigt, wenn das Protokollfragment nicht gesichert werden konnte, um so einen Datenverlust zu vermeiden. Sichern Sie das aktive Protokoll (Protokollfragmentsicherung) jeweils nach einem Fehler, vor dem Wiederherstellen der Datenbank oder beim Failover auf eine sekundäre Datenbank. Wenn Sie diese Option auswählen, entspricht dies der Option NORECOVERY in der BACKUP LOG-Anweisung von Transact-SQL.

      Weitere Informationen zu Tailprotokollsicherungen finden Sie unter Tail-Log-Sicherungen (SQL Server).For more information about tail-log backups, see Tail-log backups (SQL Server).

  16. Wenn Sie ein Bandlaufwerk sichern (wie im Abschnitt "Ziel" auf der Seite "Allgemein" angegeben), wird das Band nach dem Aktivieren der Sicherungsoption entladen. Wenn Sie diese Option aktivieren, wird das Band vor dem Entladen aktiviert.

  17. Standardmäßig hängt die Komprimierung einer Sicherung vom Wert der Standardkonfigurationsoption für die Sicherungskomprimierung ab. Unabhängig von der aktuellen Standardeinstellung auf Serverebene können Sie eine Sicherung jedoch komprimieren, indem Sie die Komprimierung überprüfen, und Sie können komprimieren, indem Sie die Sicherung nicht komprimieren.

    Die Sicherungskomprimierung wird in SQL Server 2008 (10.0.x) Enterprise und höheren Versionen und SQL Server 2016 (13.x) Standard mit Service Pack 1 und höheren Versionen unterstützt.

    Informationen zum Anzeigen des aktuellen Sicherungskomprimierungsstandards finden Sie unter Ansicht oder Konfigurieren der Standardeinstellung für die Sicherungskomprimierung (Serverkonfigurationsoption).

    Aktivieren Sie das Kontrollkästchen "Sicherung verschlüsseln", um die Sicherungsdatei zu verschlüsseln. Wählen Sie einen Verschlüsselungsalgorithmus aus, der zum Verschlüsseln der Sicherungsdatei verwendet werden soll, und geben Sie ein Zertifikat oder einen asymmetrischen Schlüssel an. Folgende Algorithmen stehen für die Verschlüsselung zur Verfügung:

    • AES 128
    • AES 192
    • AES 256
    • Triple DES

Verwenden von Transact-SQL

Führen Sie die BACKUP LOG-Anweisung aus, um das Transaktionsprotokoll zu sichern, und geben Sie die folgenden Informationen an:

  • Den Namen der Datenbank, zu der das zu sichernde Transaktionsprotokoll gehört.
  • Das Sicherungsmedium, auf das die Transaktionsprotokollsicherung geschrieben wird.

Wichtig

In diesem Beispiel wird die AdventureWorks2022 -Datenbank verwendet, in der das einfache Wiederherstellungsmodell eingesetzt wird. Um Protokollsicherungen zu ermöglichen, wurde für die Datenbank vor dem Erstellen einer vollständigen Datenbanksicherung die Verwendung des vollständigen Wiederherstellungsmodells festgelegt.

Weitere Informationen finden Sie unter Anzeigen oder Ändern des Wiederherstellungsmodells einer Datenbank (SQL Server).

In diesem Beispiel wird eine Transaktionsprotokollsicherung für die AdventureWorks2022 -Datenbank auf dem zuvor erstellten, benannten Sicherungsmedium MyAdvWorks_FullRM_log1erstellt.

BACKUP LOG AdventureWorks2022
   TO MyAdvWorks_FullRM_log1;
GO

Nutzen von PowerShell

Richten Sie den SQL Server PowerShell-Anbieter ein, und verwenden Sie ihn. Verwenden Sie das Cmdlet Backup-SqlDatabase , und geben Sie Log als Wert für den Parameter -BackupAction an.

Im folgenden Beispiel wird eine Protokollsicherung der <myDatabase> -Datenbank am standardmäßigen Sicherungsspeicherort der Serverinstanz Computer\Instanceerstellt.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log