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 Ablaufverfolgungsflags 3226 ausblenden, wenn keines der Skripts von diesen Einträgen abhängig ist. Weitere Informationen hierzu finden Sie unter Ablaufverfolgungsflags (Transact-SQL).
Berechtigungen
Bevor Sie beginnen, sollten Sie sich vergewissern, dass sowohl auf Instanz- als auch auf Speicherebene die richtigen Berechtigungen vorliegen.
Berechtigungen für Datenbank-Engine
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.
Berechtigungen für Sicherungsgerät
Besitz- und Berechtigungsprobleme im Zusammenhang mit der physischen Datei des Sicherungsmediums können den Sicherungsvorgang beeinträchtigen. Das Betriebssystemkonto, unter dem der SQL Server-Dienst ausgeführt wird, muss vom Gerät lesen und auf das Gerät schreiben können. Berechtigungsprobleme mit der physischen Datei des Sicherungsgeräts werden erst sichtbar, wenn auf die physische Ressource zugegriffen wird, um einen Sicherungs- oder Wiederherstellungsvorgang auszuführen.
Hinweis
Die Prozedur sp_addumpdevice, die den Systemtabellen einen Eintrag für ein Sicherungsgerät hinzufügt, prüft nicht die Dateizugriffsberechtigungen.
Verwenden Sie SQL Server Management Studio
Hinweis
Die Schritte in diesem Abschnitt gelten auch für Azure Data Studio.
Klicken Sie nach dem Herstellen einer Verbindung mit der entsprechenden Instanz der SQL Server Datenbank-Engine im Objekt-Explorer auf den Servernamen, um die Serverstruktur zu erweitern.
Erweitern Sie Datenbanken, und wählen Sie je nach Datenbank eine Benutzerdatenbank aus, oder erweitern Sie Systemdatenbanken, und wählen Sie eine Systemdatenbank aus.
Klicken Sie mit der rechten Maustaste auf die Datenbank, wählen Sie dann Aufgaben aus, und klicken Sie dann auf Sichern. Das Dialogfeld Datenbank sichern wird angezeigt.
Überprüfen Sie den Datenbanknamen im Listenfeld Datenbank . Sie können optional eine andere Datenbank aus der Liste auswählen.
Überprüfen Sie, ob als Wiederherstellungsmodell entweder FULL oder BULK_LOGGEDausgewählt wurde.
Wählen Sie im Listenfeld Sicherungstyp den Eintrag Transaktionsprotokollaus.
(Optional) Wählen Sie Kopiesicherung aus, um eine Kopiesicherung zu erstellen. Eine Kopiesicherung ist ein SQL Server-Backup, das von der Sequenz konventioneller SQL Server-Backups unabhängig ist, siehe Kopiesicherungen.
Hinweis
Wenn die Option Differenziell aktiviert ist, können Sie keine Kopiesicherung erstellen.
Akzeptieren Sie entweder den im Textfeld Name vorgeschlagenen Standardnamen für den Sicherungssatz, oder geben Sie einen anderen Namen für den Sicherungssatz ein.
(Optional) Geben Sie in das Textfeld Beschreibung eine Beschreibung des Sicherungssatzes ein.
Geben Sie an, wann der Sicherungssatz ablaufen soll:
Wenn der Sicherungssatz nach einer bestimmten Anzahl von Tagen ablaufen soll, klicken Sie auf Nach (die Standardoption), und geben Sie an, nach wie vielen Tagen nach der Erstellung der Sicherungssatz abläuft. Dieser Wert kann zwischen 0 und 99999 Tagen liegen. 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.
Um den Sicherungssatz an einem bestimmten Datum ablaufen zu lassen, klicken Sie auf Am. Geben Sie das Datum ein, an dem der Sicherungssatz abläuft.
Wählen Sie den Typ des Sicherungsziels, indem Sie Datenträger, URL oder Band auswählen. Wählen Sie Hinzufügen aus, um die Pfade von bis zu 64 Datenträgern oder Bandlaufwerken mit einem einzelnen Mediensatz auszuwählen. 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, markieren Sie es, und wählen Sie Inhalt aus.
Zum Anzeigen oder Auswählen der erweiterten Optionen wählen Sie Optionen im Bereich Seite auswählen aus.
Wählen Sie eine Option von Medium überschreiben aus, indem Sie eine der folgenden Optionen auswählen:
Auf vorhandenen Mediensatz sichern
Wählen Sie bei dieser Option entweder An vorhandenen Sicherungssatz anfügen oder Alle vorhandenen Sicherungssätze überschreiben aus. Weitere Informationen hierzu finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).
(Optional) Aktivieren Sie das Kontrollkästchen Mediensatznamen und Ablaufzeit des Sicherungssatzes überprüfen, damit beim Sicherungsvorgang das Datum und die Uhrzeit überprüft werden, an dem bzw. zu der 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 anhand des Mediums zu überprüfen, ist die Prüfung erfolgreich, wenn der Medienname auf dem Medium ebenfalls leer ist.
Auf neuen Mediensatz sichern und alle vorhandenen Sicherungssätze löschen
Geben Sie bei dieser Option einen Namen in das Textfeld Name für neuen Mediensatz und optional eine Beschreibung des Mediensatzes in das Textfeld Beschreibung für neuen Mediensatz ein. Weitere Informationen finden Sie unter Mediensätze, Medienfamilien und Sicherungssätze (SQL Server).
Im Bereich Zuverlässigkeit können Sie folgende Optionen aktivieren:
Sicherung nach dem Abschluss überprüfen.
Vor dem Schreiben auf die Medien Prüfsumme bilden und (optional) Bei Prüfsummenfehler fortsetzen.
Weitere Informationen zu Prüfsummen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server).
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 Sicherungen des Protokollfragments finden Sie unter Protokollfragmentsicherungen (SQL Server).
Wenn Sie auf ein Bandlaufwerk sichern (gemäß der Konfiguration im Abschnitt Ziel der Seite Allgemein), ist die Option Band nach dem Sichern entladen aktiviert. Wenn Sie diese Option auswählen, wird die Option Band vor dem Entladen zurückspulen aktiviert.
Ob eine Sicherung komprimiert wird, ist standardmäßig abhängig vom Wert der Serverkonfigurationsoption backup-compression default. Sie können jedoch unabhängig von der aktuellen Standardeinstellung auf Serverebene eine Sicherung komprimieren, indem Sie die Option Sicherung komprimieren aktivieren, oder die Komprimierung verhindern, indem Sie die Option Sicherung nicht komprimieren aktivieren.
Die Sicherungskomprimierung wird in SQL Server 2008 (10.0.x) Enterprise und höheren Versionen und in SQL Server 2016 (13.x) Standard mit Service Pack 1 und höheren Versionen unterstützt.
Weitere Informationen zum Anzeigen der Standardeinstellung für die Sicherungskomprimierung finden Sie unter Anzeigen 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 Anweisung BACKUP LOG aus, um das Transaktionsprotokoll zu sichern, und geben Sie dabei folgende 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_log1
erstellt.
BACKUP LOG AdventureWorks2022
TO MyAdvWorks_FullRM_log1;
GO
Verwenden 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\Instance
erstellt.
Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log
Zugehörige Aufgaben
- Wiederherstellen einer Transaktionsprotokollsicherung (SQL Server)
- Wiederherstellen einer SQL Server-Datenbank zu einem Zeitpunkt (vollständiges Wiederherstellungsmodell)
- Problembehandlung bei vollen Transaktionsprotokollen (SQL Server-Fehler 9002)