andreasoc
Goto Top

SQL Transaktionsprotokoll lässt sich nicht weiter verkleinern

SQL Transaktionsprotokoll lässt sich nicht weiter verkleinern

Hallo zusammen,

wir haben bei uns eine wichtige Datenbank. Diese wird mit Wartungsplänen gepflegt, Statistiken aktualisieren, indeces neu setzen, datenbank sichern und datenbank verkleinern.
Alles bis auf der verkleinern funktioniert.
Das Transaktionsprotokoll war auf 50GB gewachsen, obwohl der Task für die Verkleienrung angeblich erfolgreich war.
So habe ich einmal manuell die Datenbank Option Wiederherstellungsmodell auf "einfach" gestellt, und dann auf transaktionsprotokoll verkleinern. So hatte ich schonmal ein Teilerfolg, es war danach nur noch knapp 8GB groß, aber mehr war nicht möglich, obwohl 99% freier Speicherplatz angeblich vorhanden sind.
Jemand ne Ahnung wieso es nicht kleiner wird?

Content-ID: 177441

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

Ausgedruckt am: 08.11.2024 um 21:11 Uhr

SlainteMhath
SlainteMhath 08.12.2011 um 12:05:07 Uhr
Goto Top
Moin,

mach mit dem SQL Verwaltungstool ein Backup des LOGs ins Dateisystem mit der Option nicht mehr benötigte Seiten zu löschen. Wenn das Backup durch ist, kannst du die Backupdatei löschen und nochmal einen Manuelle Shrink der LOGs anwerfen, dann sollte das schrumpfen.

lg,
Slainte
Ravers
Ravers 08.12.2011 um 12:12:10 Uhr
Goto Top
Versuch es mal manuell zu machen:


DBCC SHRINKFILE(DATENBANKNAME_log,10)

BACKUP LOG DATENBANKNAME WITH TRUNCATE_ONLY

DBCC SHRINKFILE(DATENBANKNAME_log,10)


greetz
ravers
Indrador
Indrador 08.12.2011 um 12:19:07 Uhr
Goto Top
Vielleicht steht das Logfile auch einfach auf 8 GB Standardgröße, dann kannst du soviel backupen und shrinken wie du willst.
AndreasOC
AndreasOC 08.12.2011 um 13:00:50 Uhr
Goto Top
Zitat von @SlainteMhath:
Moin,

mach mit dem SQL Verwaltungstool ein Backup des LOGs ins Dateisystem mit der Option nicht mehr benötigte Seiten zu
löschen. Wenn das Backup durch ist, kannst du die Backupdatei löschen und nochmal einen Manuelle Shrink der LOGs
anwerfen, dann sollte das schrumpfen.

lg,
Slainte

ich mache das gleiche auch über wartungspläne, jede stunden wird das transaktionsprotokoll gesichert, und abends wird die datenbank verkleinert,
ist doch das selbe oder nicht?
AndreasOC
AndreasOC 08.12.2011 um 13:01:49 Uhr
Goto Top
Zitat von @Indrador:
Vielleicht steht das Logfile auch einfach auf 8 GB Standardgröße, dann kannst du soviel backupen und shrinken wie du
willst.

und wo stellt man die standardgröße ein?
Indrador
Indrador 08.12.2011 um 13:59:43 Uhr
Goto Top
Zitat von @AndreasOC:
> Zitat von @Indrador:
> ----
> Vielleicht steht das Logfile auch einfach auf 8 GB Standardgröße, dann kannst du soviel backupen und shrinken wie
du
> willst.

und wo stellt man die standardgröße ein?

Im Management Studio Rechtsklick auf die Datenbank, dann Eigenschaften. In dem neuen Fenster links den Punkt Dateien und
bei Dateityp Protokoll die Anfangsgröße schauen.
AndreasOC
AndreasOC 08.12.2011 um 14:09:28 Uhr
Goto Top
Zitat von @Indrador:
> Zitat von @AndreasOC:
> ----
> > Zitat von @Indrador:
> > ----
> > Vielleicht steht das Logfile auch einfach auf 8 GB Standardgröße, dann kannst du soviel backupen und shrinken
wie
> du
> > willst.
>
> und wo stellt man die standardgröße ein?

Im Management Studio Rechtsklick auf die Datenbank, dann Eigenschaften. In dem neuen Fenster links den Punkt Dateien und
bei Dateityp Protokoll die Anfangsgröße schauen.




ich kann ja auch die maximalgröße des Transaktionsprotokolls auf 8GB stellen oder? Oder macht man sowas nicht?
Indrador
Indrador 08.12.2011 um 14:14:13 Uhr
Goto Top
Zitat von @AndreasOC:
> Zitat von @Indrador:
> ----
> > Zitat von @AndreasOC:
> > ----
> > > Zitat von @Indrador:
> > > ----
> > > Vielleicht steht das Logfile auch einfach auf 8 GB Standardgröße, dann kannst du soviel backupen und
shrinken
> wie
> > du
> > > willst.
> >
> > und wo stellt man die standardgröße ein?
>
> Im Management Studio Rechtsklick auf die Datenbank, dann Eigenschaften. In dem neuen Fenster links den Punkt Dateien und
> bei Dateityp Protokoll die Anfangsgröße schauen.
>
>


ich kann ja auch die maximalgröße des Transaktionsprotokolls auf 8GB stellen oder? Oder macht man sowas nicht?

Das solltest du tunlichst nicht tun....
32067
32067 08.12.2011 um 15:50:27 Uhr
Goto Top
Hallo,

wenn dir nicht klar ist, warum man das ganze "Theater" mit der Transaktions-Log-Sicherung macht, dann laß die DB auf "Simple" stehen, mache Vollsicherungen und gut.

Wenn sich das Log nicht auf weniger als 8 GB shrinken läßt, dann kann es sein, daß da eine noch laufende Transaktion den Finger draufhält.

Also entweder die entsprechende Verbindung irgendwie identifizieren oder mit dem groben Kaliber rangehen, d.h. alle Verbindungen trennen, Datenbank detach/attach oder den ganzen Dienst /Server einmal durchstarten.

Warum limitiert man das Log nicht / nicht so gerne? Es ist ja keine Willkür der DB, wie groß das Log wird, das kommt daher wie die User / die Anwender mit der Anwendung arbeiten. Wenn man 100% sicher ist, daß das Log nieeee über 1 GB Log geht, dann kann man das limitieren, nur wehe wenn dann irgendwann die Log-Sicherung nicht gelaufen ist oder die Anwender auf einmal wesentlich mehr Daten ändern oder oder oder, dann steht die Anwendung bzw. läßt keine Änderungen mehr zu und der böse DBA ist Schuld ...