fnord2000
Goto Top

MSSQL DatenbankLogfile verkleinern mit BackupExec

Hallo erstmal,

es geht um folgendes:
Wie haben hier einen MSSQL-Server mit mehreren Datenbanken (u.A. SAP). Zu jeder Datenbank gibt es ja ein Logfile und hier ist es nun so, dass diese immer größer werden und bereits einige GiB angesammelt haben. (was sich sicherlich nicht unbedingt positiv auf die Performance auswirkt)

Nun habe ich bei Tante Google so einiges darüber gefunden, wie man die Logdateien kleiner/geleert bekommt, meist mit dem Hinweis, dass man dies jedoch der Datensicherheit zuliebe besser nur nach einem Backup macht.
Wir haben hier Symantec BackupExec im Einsatz, welches die Datenbanken samt Logfile jeden Abend wegsichert. Mich würde nun interessieren, ob ich es irgendwie automatisieren kann, dass die Logfiles dann auch gleich verkleinert werden.

So wie ich das sehe besteht zwar die Möglichkeit im SQL-Server-Management Studio bestimmte Wartungs-Tasks anzulegen, aber ich sehe irgendwie nicht, ob oder wie es möglich ist, dass diese Tasks unmittelbar im Anschluss an das Backup laufen.
Angenommen es gibt direkt nach dem Backup eine Datenbank-Transaktion, dann soll diese ja (bis zum Zeitpunkt des nächsten Backups) im Log verbleiben und nicht mit entfernt werden. Aber nur das Backup-Tool kann ja wissen, welche Einträge weggesichert wurden, oder?

Im BackupExec finde ich allerdings nirgends eine Option, die so klingt als könne man damit die Logfiles reduzieren.


Gibt es für mein Problem eine Lösung?

Content-Key: 207212

Url: https://administrator.de/contentid/207212

Printed on: April 16, 2024 at 21:04 o'clock

Member: GuentherH
GuentherH May 29, 2013 at 11:39:00 (UTC)
Goto Top
Hallo.

bereits einige GiB angesammelt haben. (was sich sicherlich nicht unbedingt positiv auf die Performance auswirkt)

Stimmt nicht unbedingt. Es handelt sich ja hier um Transanktionslog, und die werden u.a. erstellt, weil dies schneller ist als direkt in die Datenbank zu schreiben.

welches die Datenbanken samt Logfile jeden Abend wegsichert. Mich würde nun interessieren

Gibt es dazu einenen passenden Agent? Wenn ja, da sollte in den Einstellungen des Agent die Möglichkeiten angeboten werden, wie mit der SQL Sicherung umzugehen ist.
Wenn nein, dann wird es schleunigst Zeit das Backup direkt über den SQL Server selbst durchzuführen. Denn ohne Agent sicherst du eigentlich nur binären Müll.

LG Günther
Member: fnord2000
fnord2000 May 29, 2013 at 13:30:13 (UTC)
Goto Top
Zitat von @GuentherH:
Stimmt nicht unbedingt. Es handelt sich ja hier um Transanktionslog, und die werden u.a. erstellt, weil dies schneller ist als
direkt in die Datenbank zu schreiben.

Okaaay, ich glaube dann habe ich ein generelles Verständnisproblem, wie diese Logs funktionieren.
Ich war bisher der Meinung, dass es grob so funktioniert:
- User will Daten ändern
- Änderung wird im Log vermerkt
- Änderung wird in die Datenbank geschrieben
- Im Log wird vermerkt, dass die Änderung durchgeführt wurde
Also dass das Log konkret dazu da ist einem eventuellen Datenverlust oder einer Korruption der Datenbank durch plötzlich auftretende Schäden entgegenzuwirken (oder einfach um den Zustand zu einer ganz bestimmten Zeit wiederherzustellen), während die Daten in der Datenbank selbst stets die aktuellen sein sollten.


Gibt es dazu einenen passenden Agent? Wenn ja, da sollte in den Einstellungen des Agent die Möglichkeiten angeboten werden,
wie mit der SQL Sicherung umzugehen ist.
Wenn nein, dann wird es schleunigst Zeit das Backup direkt über den SQL Server selbst durchzuführen. Denn ohne Agent
sicherst du eigentlich nur binären Müll.

Also laut Lizenzübersicht haben wir einen "Backup Exec for App. and Databases" Agenten. Aber wie gesagt kann ich bei den Einstellungen da nirgends entsprechende Optionen finden.
Member: Deepsys
Deepsys May 29, 2013 at 13:53:25 (UTC)
Goto Top
Hi,

Zitat von @fnord2000:
Also laut Lizenzübersicht haben wir einen "Backup Exec for App. and Databases" Agenten. Aber wie gesagt kann ich
bei den Einstellungen da nirgends entsprechende Optionen finden.
Dazu habe ich einen eigenen Job unter BE2010 R3 erstellt, direkt mit dem Backup geht das leider nicht.

In diesem dann unter dem Einstellungen des Jobs unter "MS SQL" die Backup-Methode (z.B. "Protokoll - Transaktionsprotokoll sichern") einstellen, fertig.

Hoffe das hilft dir was.

Ach ja, das sollte nicht nur in der Lizenzübersicht stehen, die Option sollte auch installiert werden.

VG
Deepsys
Member: GuentherH
GuentherH May 29, 2013 at 18:20:52 (UTC)
Goto Top
Hier kurz die Beschreibung zur Funktionsweise des Transaktionslog - http://msdn.microsoft.com/de-de/library/ms190925.aspx

LG Günther
Member: fnord2000
fnord2000 May 31, 2013 at 07:54:48 (UTC)
Goto Top
Zitat von @Deepsys:
Dazu habe ich einen eigenen Job unter BE2010 R3 erstellt, direkt mit dem Backup geht das leider nicht.

In diesem dann unter dem Einstellungen des Jobs unter "MS SQL" die Backup-Methode (z.B. "Protokoll -
Transaktionsprotokoll sichern") einstellen, fertig.

Also wir haben hier BE2012 v.14

Hier mal ein Screenshot der Optionen die ich unter Microsoft SQL habe:

f708db28cc917437d57dae1c4a917976
Member: Deepsys
Deepsys Jun 03, 2013 at 08:47:47 (UTC)
Goto Top
Hi,

das ist ja toll, im Gegensatz zum 2010R3 fehlt da doch einiges.
Tut mir leid da kann ich dir nicht weiter helfen.

Hier mal ein Bild wie es im 2010 R3 aussieht:
http://www.tanercort.com/wp-content/uploads/2012/01/MicrosoftSQL.jpg

VG
Deepsys