Im Transaktionsprotokll werden alle Transaktionen (Insert / Update / Delete usw.) gespeichert, bevor die Daten in den Daten Files wirklich verändert werden (aus Performance und SIcherheitsgründen). Wenn das Recovery Modell SImple ist werden diese sofort nach eintrag in den Datenfiles als überschreibbar markiert, und bei Bedarf wieder überschrieben. Bei den anderen Recovery Modellen jedoch weren die Einträge erst nach einem LOG BACKUP (NICHT FULL BACKUP) als überschreibar markiert, um bei einem Fehlerhaften Daten File oder bei einem Irrtümlichen Löschvorgang usw. die Datenbank aus dem letzen FULL BACKUP und allen folgenden Transaction Log Backups sowie dem Transaction Log die Datenbank zu jedem beliebigen Zeitpunkt seit dem letzen FULL BACkup wiederhergestellt werden kann. Wird das Transakction Log nicht mittels LOG Backup weggesichert (dann werden die enthaltenen EInträge als überschreibbar markiert, ausgenommen die, die noch zu offenen Transaktionen gehören) wächst das Transaktion log immer weiter an, da die alten Einträge nciht überschrieben werden können.
Wird also ein anderes Recoverymodel als Simple verwendet, MUSS ein LOG BACKUP regelmäßig gemacht werden, um ein ANwachsen zu verhindert. Ist das ProtokollFile allerdingsschon angewachsen, kann nach einem Transaction Log Backup das Log File mit Shrink verkleinert werden (die saubere Variante, wenn es um die Erhaltung der Wiederherstellung zu jedem beliebigen Zeitpüunkt geht).
Wichtig für erfolgreiches Sichern einer Datenbank:
1) Sofort nach Anlage der Datenbank Recovery Modell auf FULL stellen und ein FULL BACKUP machen.
2) regelmäßige Log Backups
3) in größeren Abständen FULL BACKUPS machen, unmittelbar davor aber ein LOG BACKUP machen, um auch die Zustände zwischem letzen LOG BAckup und Full Backup wiederherstellen zu können
nach dem 1.LogBackup eventuell ein Shrink durchführen:
USE [dbname]
GO
DBCC SHRINKFILE (N'logfilename logisch' , 1000)
GO
oder im ssms unter Datenbank, Task, Verkleinern, File, Logfile
No comments:
Post a Comment