Logo faq-o-matic.net
Logo faq-o-matic.net

SQL Server: Das Copy-Only Backup

von veröffentlicht am6. Dezember 2017, 06:28 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Datensicherung, SQL Server   Translate with Google Translate Translate EN   Die angezeigte Seite drucken

Wer sich mit dem Thema Backup im Microsoft SQL Server beschäftigt, ist mit ziemlicher Sicherheit schon über das Copy-Only Backup (zu Deutsch: Kopie Sicherung) gestoßen. Was dieser Backup-Typ bedeutet und wo man ihn einsetzten kann/sollte, dazu gehen die Meinungen auseinander. Aus diesem Grund möchte ich den technischen Hintergrund und die Unterschiede zwischen „normalen“ Backups und den Copy-Only Backups vorstellen und anschließend zeigen wann man diese sinnvoll einsetzen kann.

Das „normale“ Backup

Der SQL Server unterscheidet zunächst einmal die Backups nach Vollbackup, Differenzbackup und Transaktionslogbackup. 

Vollbackup

Ein Vollbackup enthält immer alle (nicht leeren) Datenseiten, sogenannte “Pages”, der Datenbank und den aktiven Teil des Transaktionslogs. Nur beide Teile zusammen ergeben einen konsistenten Datenbestand für die Rücksicherung.

Differenzbackup

Ein Differenzbackup beinhaltet alle Pages, welche sich seit dem letzten Vollbackup geändert haben. Hierfür führt der SQL Server in jeder Datenbank eine Historie für Änderungen an den Pages (die Differential Changed Map Page – DCM).

https://technet.microsoft.com/en-us/library/ms345448%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

Den Inhalt dieser Page kann man sich z.B. für die master-Datenbank über diese TSQL-Befehle anzeigen lassen:

dbcc traceon(3604)
dbcc page(0,1,6,3)  

image

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2006/06/10/how-to-use-dbcc-page/

Bei einem Differenzbackup werden nun nur die Pages gesichert, welche einen entsprechenden Eintrag in der DCM-Page haben.

Transaktionslogbackup

Bei dem Transaktionslogbackup wird lediglich der noch nicht gesicherte Inhalt des Transaktionslogs gesichert. Der Inhalt hängt ausschließlich vom letzten Transaktionslogbackup ab, das den Ausgangspunkt bildet.

Unterschied Voll- und Copy-Only Backup

Tatsächlich besteht der Unterschied zwischen einem regulären Vollbackup und einem Copy-Only Backup einzig in der Tatsache, dass ein Copy-Only Backup die Differential Changed Map Page nicht leert. Eine Differenzsicherung nach einem Copy-Only-Backup würde immer noch alle Pages enthalten, welche sich nach dem letzten regulären Vollbackup geändert haben.

Auf das Transaktionslogbackup hat die Copy-Only-Sicherung keinen Einfluss. 

Die weit verbreitete Aussage, dass ein Copy-Only-Backup nicht als Basis für die Transaktionslogbackups dient, stimmt natürlich! Aber die selbe Aussage gilt auch für die normalen Vollbackups. Solange man eine ununterbrochene Kette an Transaktionslogs hat, spielt es keine Rolle, ob man das letzte Vollbackup als Basis nimmt oder irgendein Vorgängerbackup.

Einzig das Differenzbackup benötigt ein reguläres Vollbackup als Basis für die Wiederherstellung.

Nutzen / Anwendungsfall

Heute ist der größte Nutzen für ein Copy-Only Backup bei den AlwaysOn-Verfügbarkeitsgruppen in der Enterprise Edition zu finden. Hier hat man die Möglichkeit, die Vollbackups und Transaktionslogbackups auf einem sekundären Server zu machen, wodurch die Nutzer keine Performanceeinbußen durch das Backup haben. Da aber sekundäre Replikate keinen Schreibzugriff erlauben, kann die DCM Page nicht zurückgesetzt werden. Daher kommt in diesem Szenario nur das Copy-Only Backup infrage. Gleichzeigt bedeutet dies aber, dass man auf Differenzbackups verzichten muss, da diese auf einem veralteten Änderungsstand basieren würden.

© 2005-2017 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!