Azure Recovery Services und SQL 2014 Managed Backups spielen nicht gut zusammen

9

Ich habe begonnen, verwaltete Backups auf meinem SQL-Server zu verwenden. Es funktioniert seit über einem Jahr gut. Es scheint, die dbs einmal wöchentlich zu sichern, und inkremental alle 2 Stunden zu nehmen.

Vor einem Monat haben wir unsere VM-Sicherungslösung in Azure Recovery Services geändert. Wir haben jeden Abend damit angefangen. Wenn Azure Recovery Services am Abend ausgeführt wird, sieht es so aus, als ob aus den Windows- und SQL-Protokollen eine Sicherung jeder Datenbank erstellt wird, bevor eine Volumeschattenkopie erstellt wird. Sie werden in die Protokolle als TYPE = VIRTUAL_DEVICE: und eine große GUID eingegeben, und eine neue Datenbank-LSN-Nummer wird erstellt. Wenn diese VM-Sicherung stattfindet, werden meine wöchentlichen verwalteten Sicherungen ungültig.

Wenn ich in der Tabelle msdb.dbo.smart_backup_files nachschaue, in der das SQL Managed Backup seine Datensätze speichert, um seine Backups zu verfolgen, sehe ich, dass es zwei Felder gibt, die wichtig zu sein scheinen. Sicherungsart Wenn dies gleich 1 ist, ist es eine vollständige Sicherung, und wenn es eine 2 ist, ist es ein Protokoll. Das nächste Feld ist die backup_database_lsn. Dieses Feld stellt die vollständige Sicherung dar, auf die das Protokoll angewendet werden kann.

Wenn das SQL Managed Backup einmal wöchentlich seine vollständige Sicherung ausführt, wird eine neue lsn-Nummer erstellt und jede Protokolldatei, die später erstellt wird, hat einen Wert in der backup_database_lsn-Nummer, der auf diese lsn-Nummer des vollständigen SQL verweist Managed Backup für diese Woche.

Wenn Azure Recovery Services nun nachts ausgeführt wird, wird eine neue neue vollständige Datenbank-lsn-Nummer aus der Zeile TYPE = VIRTUAL_DEVICE in den Protokollen erstellt. Wenn ich in die Managed Backup-Tabelle (msdb.dbo.smart_backup_files) schaue, kann ich sehen, dass alle dann nachfolgenden Protokolldateien, die auf die volle lsn-Nummer der verwalteten Sicherung verweisen, nun auf die neue lsn-Nummer für die VIRTUAL_DEVICE der Recovery Services-Sicherung zeigen .

Wenn ich eine Wiederherstellung der verwalteten Sicherungen durchführen muss, kann ich nur die vollständige Sicherung und Protokolle für 1 Tag abrufen. Danach verweisen alle Protokolldateien zurück auf die VIRTUAL_DEVICE-Sicherung von Recovery Services, die nicht wirklich existiert.

Ich habe nach der VIRTUAL_DEVICE-Sicherung gesucht. Wenn ich eine Datenbank über Enterprise Manager öffne und für eine Datenbank auf Wiederherstellen klicke, wird die letzte vollständige Sicherung (in diesem Fall die vollständige Sicherung von Recovery Manager) und ihre Protokolldateien aufgerufen. Wenn ich auf den vollständigen Sicherungseintrag klicke, wird davon ausgegangen, dass sich die Datei im SQL Server-Sicherungsordner befindet und der Name der Datei die GUID ist. Diese Datei existiert nicht oder ist in der Nacht-VM-Sicherung vorhanden, die ich in Azure Recovery Services nicht anzeigen kann. So oder so, meine wöchentliche Managed Backup ist für den Rest der Woche ungültig.

Weiß jemand, wie man diese beiden zusammenarbeitet? Ich hätte gerne eine vollständige VM-Sicherung für den Fall, dass etwas auf dem SQL Server installiert wird, und wir müssen eine vollständige Wiederherstellung durchführen, und ich möchte eine wöchentliche vollständige Sicherung mit inkrementellen Protokolldateien haben, falls wir eine wiederherstellen müssen Datenbank.

    
Eric Wild 24.02.2017, 12:32
quelle

1 Antwort

0

Es klingt, als ob Sie nach differenziellen Sicherungen suchen. Diese enthalten alles, was nach der letzten vollständigen Sicherung zur Datenbank hinzugefügt wurde.

i.e. Sie nehmen am Sonntagabend eine vollständige Sicherung mit täglicher differentieller Sicherung vor. Am Montagabend würde Ihre differenzielle Sicherung alles enthalten, was seit der Sicherung hinzugefügt wurde. Am Dienstag würde es alles enthalten, was es am Montag enthielt, und seitdem hat sich alles geändert.

Wenn Sie das Gleiche mit Transaktionsprotokollsicherungen tun würden, wäre Ihre montägliche Abendsicherung tatsächlich identisch mit der oben beschriebenen differenziellen Sicherung. Die Dienstag-Version der Transaktionsprotokollsicherung enthält jedoch nur die Änderungen ab dem Zeitpunkt der montagstransaktion Protokollsicherung.

Wenn es sich um eine Wiederherstellung handelt, würde dies bedeuten, dass Sie die neueste vollständige Sicherung (Sonntag) wiederherstellen müssen, gefolgt von jeder Transaktionsprotokollsicherung, um einen Zeitpunkt wiederherzustellen nacheinander (Montag, Dienstag usw.).

Bei Verwendung von differenziellen Sicherungen würden Sie jedoch die letzte vollständige Sicherung (Sonntag) wiederherstellen, gefolgt von der letzten differenziellen Sicherung (Dienstag, wenn Sie am Mittwoch wiederherstellen).

    
SchmitzIT 30.05.2017 11:01
quelle