SQL Server zeichnet einen Sicherungsvorgang in der Backupset-Verlaufstabelle auf, wenn Sie VSS zum Sichern von Dateien auf einem Volume verwenden.
In diesem Artikel wird ein beabsichtigtes Verhalten beschrieben, das auftritt, wenn Sie VSS zum Sichern von Dateien auf einem Volume verwenden.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 951288
Symptome
Wenn Sie eine VSS-Anwendung (Volume Shadow Copy Service) zum Sichern von Dateien auf einem Volume verwenden, das SQL Server Datenbankdateien enthält, zeichnet SQL Server einen Sicherungsvorgang in der backupset
Verlaufstabelle auf. Dieses Verhalten tritt auch dann auf, wenn Sie die Datenbankdateien von SQL Server nicht tatsächlich gesichert haben.
Ursache
Dieses Verhalten tritt auf, weil die VSS-Anwendung den SQLWriter-Dienst auf dem System während des Sicherungsvorgangs aufruft. Weitere Informationen zur Interaktion von VSS-Anwendungen mit SQL Writer finden Sie unter SQL Server Sichern von Anwendungen – Volume Shadow Copy Service (VSS) und SQL Writer.
Vorsichtsmaßnahmen, die Sie treffen müssen, wenn Sie die Einträge in der Tabelle "Backupset-Verlauf" für die Datenwiederherstellung verwenden
Wenn Sie Einträge in der Verlaufstabelle für die backupset
Datenwiederherstellung verwenden möchten, müssen Sie überprüfen, ob die Einträge tatsächliche Datenbanksicherungsvorgänge darstellen.
Überprüfen Sie, ob ein Eintrag einen nativen Datenbanksicherungsvorgang darstellt (im Gegensatz zu einer VSS-Momentaufnahme-Sicherung).
Führen Sie dazu die folgende Anweisung aus:
USE msdb
GO
SELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsn
FROM backupset
Beachten Sie im Ergebnis die database_backup_lsn
Spalte und die is_snapshot
Spalte. Ein Eintrag, der einen nativen Datenbanksicherungsvorgang darstellt, weist die folgenden Merkmale auf:
- Der Wert der
database_backup_lsn
Spalte ist nicht 0. - Der Wert der
is_snapshot
Spalte ist 0.
Vergewissern Sie sich, dass der Sicherungssatz keine Fehler aufweist.
Führen Sie dazu die folgende Anweisung aus:
WITH backupInfo AS( SELECT database_name AS [DatabaseName],
name AS [BackupName], is_damaged AS [BackupStatus],
backup_start_date AS [backupDate],
ROW_NUMBER() OVER(PARTITION BY database_name
ORDER BY backup_start_date DESC) AS BackupIDForDB
FROM msdb..backupset) SELECT DatabaseName
FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1
Wenn diese Abfrage Ergebnisse zurückgibt, bedeutet dies, dass Sie nach dem gemeldeten Datum keine guten Datenbanksicherungen mehr haben. Es wird dringend empfohlen, so bald wie möglich eine vollständige Datenbanksicherung durchzuführen und zu überprüfen, ob die vollständige Datenbanksicherung sauber ist.
Die is_damaged-Eigenschaft
Die backupset
Tabelle in der msdb-Datenbank enthält eine Zeile für jeden Sicherungssatz. Die is_damaged
-Eigenschaft in der backupset
Tabelle gibt an, ob beim Erstellen der Sicherung schäden an der Datenbank erkannt wurden. Daher kann die Sicherung beschädigt und nicht wiederherstellbar sein.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für