News zu Servicewelten

DBA Tipp: Un­ter­schied­li­che SQL Server Wie­der­her­stel­lungs­mo­del­le und ihre Anwendungsbereiche

Immer wieder gibt es Ver­wir­rung über die ver­schie­de­nen Wie­der­her­stel­lungs­mo­del­le einer Datenbank und in welchem Fall man sie benutzen sollte. Die Wahl des Wie­der­her­stel­lungs­mo­dells hängt stark von den An­for­de­run­gen an den to­le­rier­ba­ren Ver­lust­zeit­raum ab. 

Grund­sätz­lich un­ter­schei­det man im Microsoft SQL Server Bereich drei Modelle:

  • Das einfache Wiederstellungsmodell
  • Das voll­stän­di­ge Wiederherstellungsmodell
  • Das mas­sen­pro­to­kol­lier­te Wiederherstellungsmodell


In diesem Artikel werden wir auf die ver­schie­de­nen Modelle, ihre An­wen­dungs­be­rei­che und Be­son­der­hei­ten sowie die Vor- und Nachteile eingehen.

Einfaches Wie­der­her­stel­lungs­mo­dell

Wird eine neue Datenbank angelegt, ist stan­dard­mä­ßig das einfache Wie­der­stel­lungs­mo­dell (Simple Recovery Model) vor­ausge­wählt. Bei diesem Modell werden fer­tig­ge­stell­te Trans­ak­tio­nen direkt vom Trans­ak­ti­ons­log ab­ge­schnit­ten, sodass die ent­spre­chen­de Logdatei nicht sehr groß wird. Du musst dich bei diesem Modell nur um die voll­stän­di­gen Full- und (wenn nötig) um die Dif­fe­ren­ti­al-Backups der Datenbank kümmern. Ein Backup der Trans­ak­ti­ons­log­da­tei und damit eine Wie­der­her­stel­lung zu einem be­stimm­ten Zeitpunkt ist nicht möglich. 

Für einfache, nicht ope­ra­ti­ons­kri­ti­sche Da­ten­ban­ken geeignet

Das Modell eignet sich vor allem für einfache Da­ten­ban­ken, bei denen man sich nur um die voll­stän­di­gen Backups und evtl. noch um dif­fe­ren­zi­el­le Backups kümmern möchte. Wir empfehlen dir aber, das einfache Wie­der­her­stel­lungs­mo­dell für Da­ten­ban­ken zu benutzen, die nicht ope­ra­ti­ons­kri­tisch und nicht größer als 10 GB sind.

Falls die Datenbank pro­duk­ti­ons­kri­tisch ist und eine Wie­der­her­stel­lung auch zu einem Zeitpunkt zwischen zwei Backups möglich sein soll, ist dieses Modell nicht geeignet.

Vorteile:

  • Du musst dich nur um die voll­stän­di­gen und eventuell noch um dif­fe­ren­zi­el­le Backups kümmern.
  • Die Trans­ak­ti­ons­log­da­tei verwaltet sich selbst und wird nicht sehr groß.

Nachteile:

  • Du kannst immer nur zu einem be­stimm­ten er­folg­rei­chen Backup zurückspringen.
  • Auf einen Stand zwischen zwei Backups (bspw. zwischen dem Backup von Sonntag Abend und Montag Abend) kannst du nicht wiederherstellen.

Voll­stän­di­ges Wiederherstellungsmodell

Das voll­stän­di­ge Wie­der­her­stel­lungs­mo­dell (Full Recovery Model)​ wird vor­nehm­lich für größere, pro­duk­ti­ve Da­ten­ban­ken genutzt. In dieser Kon­fi­gu­ra­ti­on schreibt der SQL Server alle Trans­ak­tio­nen in ein Trans­ak­ti­ons­log, das üb­li­cher­wei­se aus einer Trans­ak­ti­ons­log­da­tei besteht. Das Schreiben aller Trans­ak­tio­nen in eine Logdatei bietet den großen Vorteil, dass die Wie­der­her­stel­lung (bei vor­han­de­nen Backups der Log­da­tei­en) der Datenbank auf nahezu jeden Zeitpunkt möglich ist (point-in-time recovery). 

Für große, pro­duk­ti­ons­kri­ti­sche Da­ten­ban­ken geeignet

Das voll­stän­di­ge Wie­der­her­stel­lungs­mo­dell eignet sich für pro­duk­ti­ons­kri­ti­sche und / oder große Da­ten­ban­ken, die häufigen Trans­ak­tio­nen aus­ge­setzt sind. Dadurch gewinnen Sie die optimale Kontrolle über den Wie­der­her­stel­lungs­zeit­punkt und sind für De­sas­ter­fäl­le besser gerüstet.

Bei diesem Modell sollte unbedingt darauf geachtet werden, dass neben den voll­stän­di­gen und mög­li­cher­wei­se dif­fe­ren­zi­el­len Backups auch ein Job für die Trans­ak­ti­ons­log-Backups ein­ge­rich­tet ist. Ansonsten wird die Trans­ak­ti­ons­log­da­tei mit der Zeit immer größer. Nur ein Backup der Logdatei sorgt dafür, dass die schon ge­tä­tig­ten Trans­ak­tio­nen ab­ge­schnit­ten und bereinigt werden, sodass die Datei nicht zu groß wird.

Vorteile:

  • Du kannst auf einen be­stimm­ten Zeitpunkt zwischen dem ältesten und dem neusten Backup und damit ganz granular wiederherstellen.
  • Im De­sas­ter­fall besteht die Chance, noch ein so­ge­nann­tes “Tail Backup” der Trans­ak­ti­ons­log­da­tei zu fahren, sodass du die Datenbank bis kurz vor dem Crash wie­der­her­stel­len kannst.

Nachteile:

  • Du solltest unbedingt ein re­gel­mä­ßi­ges Backup für das Trans­ak­ti­ons­log ein­rich­ten. Ansonsten wird diese Datei immer größer und schreibt ir­gend­wann den Spei­cher­platz voll.

Mas­sen­pro­to­kol­lier­tes Wiederherstellungsmodell

Das mas­sen­pro­to­kol­lier­te Wie­der­her­stel­lungs­mo­dell (Bulk-logged Recovery Model)​ ist eine Son­der­form vom voll­stän­di­gen Wie­der­her­stel­lungs­mo­dell. Die Be­son­der­heit ist hierbei, dass so­ge­nann­te Bulk Trans­ak­tio­nen (BULK INSERT, SELECT INTO, …) nur minimal im Trans­ak­ti­ons­log ge­spei­chert werden. Im Full Recovery Modus hingegen werden alle Trans­ak­tio­nen im Log hin­ter­legt. Dadurch wird die Trans­ak­ti­ons­log­da­tei nicht so groß, wenn zum Beispiel nachts Importe laufen. Ansonsten werden alle normalen Trans­ak­tio­nen genau wie im voll­stän­di­gen Wie­der­her­stel­lungs­mo­dell im Trans­ak­ti­ons­log gespeichert. 

Besonders geeignet für Da­ta­ware­house Umgebungen

Das Modell eignet sich ins­be­son­de­re für Da­ta­ware­house Um­ge­bun­gen, bei denen haupt­säch­lich mas­sen­pro­to­kol­lier­te Trans­ak­tio­nen aus­ge­führt werden oder Da­ten­ban­ken, die in re­gel­mä­ßi­gen Abständen solchen um­fang­rei­chen Trans­ak­tio­nen aus­ge­setzt sind. Ansonsten ist das voll­stän­di­ge Wie­der­her­stel­lungs­mo­dell zu empfehlen.

Falls du auf die Mög­lich­keit Wert legst, auf einen be­stimm­ten Zeitpunkt zurück zu gehen, ist dieses Modell nicht geeignet, da es kein “point-in-time recovery” unterstützt.

Vorteile:

  • Du bekommst einige Vorteile des voll­stän­di­gen Wie­der­her­stel­lungs­mo­dells im Bereich Desaster Wie­der­her­stel­lung (Taillog Backup).
  • Bulk Ope­ra­tio­nen werden nur minimal geloggt und nehmen daher nicht so viel Platz im Trans­ak­ti­ons­log weg.

Nachteile:

  • Es besteht keine Mög­lich­keit für “point-in-time Recovery”.
  • Du kannst nicht auf den letzten Stand zu­rück­si­chern, wenn vor dem Ausfall eine Bulk Operation gelaufen ist. Dann ist nur die Wie­der­her­stel­lung zum letzten er­folg­rei­chen Log Backup möglich.

Fazit

Welches Wie­der­her­stel­lungs­mo­dell gewählt wird, hängt stark von den An­for­de­run­gen an den to­le­rier­ba­ren Ver­lust­zeit­raum von Da­ten­bank­ein­trä­gen und der Art der Befüllung der Datenbank ab. Bei jedem Modell gibt es einige Dinge in der Kon­fi­gu­ra­ti­on zu beachten. Eine sche­ma­ti­sche Dar­stel­lung findest du übrigens » hier.

Du hast weitere Fragen? Gerne un­ter­stüt­zen wir dich bei der Back­upp­la­nung für deine Microsoft SQL Server Datenbanken.

Hier findest du weitere in­ter­es­san­te DBA Tipps oder Posts zum Thema SQL Server aus unserem News und Insights Bereich.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email