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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177441
Url: https://administrator.de/contentid/177441
Ausgedruckt am: 08.11.2024 um 21:11 Uhr
9 Kommentare
Neuester Kommentar
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?
> 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.
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?
> 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....
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 ...
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 ...