Ldf Datei von einer SQL DB immer klein halten
Hallo,
Ich habe folgendes Problem.
In einem SQL2008R2 Express habe ich eine DB wo sich immer die ldf Datei vergrößert.
Wenn ich dann über das SQL Manage Studio die Protoklldatei sichere und dann verkleinere,
dann ist die Datei wieder klein.
Wie kann ich das ändern, damit sich die Datei nicht mehr vergrößert.
In den Datenbankoptionen habe ich Wiederherstellungsmodell: Vollständig,
kann ich das einfach so auf Einfach stellen? Bringt das erwas?
Automatisch verkleinern steht bei mir auf False, ist das Richtig?
Dann wurde die DB einmal Ursprünglich in einem SQL2000 Express erstellt, dann
in einem SQL2005 mit sichern und wiederherstellen betrieben.
Und dann mit sichern und wiederherstellen auf einem SQL2008R2 läuft die jetzt.
Da steht jetzt der Kompatibilitätsgrad auf SQL Server 2000 (80).
Kann man das einfach auf SQL Server 2008 (100) umstellen?
Gruß
Helmut
Ich habe folgendes Problem.
In einem SQL2008R2 Express habe ich eine DB wo sich immer die ldf Datei vergrößert.
Wenn ich dann über das SQL Manage Studio die Protoklldatei sichere und dann verkleinere,
dann ist die Datei wieder klein.
Wie kann ich das ändern, damit sich die Datei nicht mehr vergrößert.
In den Datenbankoptionen habe ich Wiederherstellungsmodell: Vollständig,
kann ich das einfach so auf Einfach stellen? Bringt das erwas?
Automatisch verkleinern steht bei mir auf False, ist das Richtig?
Dann wurde die DB einmal Ursprünglich in einem SQL2000 Express erstellt, dann
in einem SQL2005 mit sichern und wiederherstellen betrieben.
Und dann mit sichern und wiederherstellen auf einem SQL2008R2 läuft die jetzt.
Da steht jetzt der Kompatibilitätsgrad auf SQL Server 2000 (80).
Kann man das einfach auf SQL Server 2008 (100) umstellen?
Gruß
Helmut
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 243836
Url: https://administrator.de/contentid/243836
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
5 Kommentare
Neuester Kommentar
Moin.
Du hast kein Problem.
Das Verhalten ist normal, bei "Wiederherstellungsmodell: Vollständig" wird eben ein Transaktionslog geschrieben, daher wird die ldf grösser. Aber: Wenn du täglich ein Transaktionslogbackup Vollbackup machst, werden die Änderungen mit ins Backup geschrieben und die Einträge aus dem Transaktionslog werden gelöscht - dadurch wird das File selbst zwar nicht kleiner, aber da nichts mehr drinsteht, können neue Einträge geschrieben werden, ohne dass das File weiter wächst.
Das Verkleinern ist imho Unsinn, also Zeit- und Resourcenverschwendung.
Wenn du das Wiederherstellungsmodel änderst, bist du nicht mehr in der Lage, nach einem Restore der Datenbank Rollbacks/Rollforwards auszuführen, sprich: Die Datenbank hat einen Zeitstempel des Backups und basta. Dann wird auch kein Transaktionslog angelegt und das ldf bleibt schön klein.
Die Kompatibilitätseinstellungen sind in diesem Zusammenhang völlig boogie, für das Funktionieren der Datenbank aber u.U. wichtig - verwendet die Software, für die diese Datenbank in Betrieb ist, eine Feature, dass es nur in SQL 2000 gibt, dann solltest du das tunlichst so lassen. Wenn das nicht gegeben ist, stell es hoch auf 2008.
Cheers,
jsysde
Du hast kein Problem.
Das Verhalten ist normal, bei "Wiederherstellungsmodell: Vollständig" wird eben ein Transaktionslog geschrieben, daher wird die ldf grösser. Aber: Wenn du täglich ein Transaktionslogbackup
Das Verkleinern ist imho Unsinn, also Zeit- und Resourcenverschwendung.
Wenn du das Wiederherstellungsmodel änderst, bist du nicht mehr in der Lage, nach einem Restore der Datenbank Rollbacks/Rollforwards auszuführen, sprich: Die Datenbank hat einen Zeitstempel des Backups und basta. Dann wird auch kein Transaktionslog angelegt und das ldf bleibt schön klein.
Die Kompatibilitätseinstellungen sind in diesem Zusammenhang völlig boogie, für das Funktionieren der Datenbank aber u.U. wichtig - verwendet die Software, für die diese Datenbank in Betrieb ist, eine Feature, dass es nur in SQL 2000 gibt, dann solltest du das tunlichst so lassen. Wenn das nicht gegeben ist, stell es hoch auf 2008.
Cheers,
jsysde
Aber: Wenn du täglich ein Vollbackup machst, werden die Änderungen mit ins Backup geschrieben und die Einträge aus dem Transaktionslog werden gelöscht
Das ist so nicht korrekt.Ein Datenbankbackup ändert das Transaktionsprotokoll nicht. Dafür muß man Transaktionsprotokollsicherungen machen.
Deswegen gibt's im T-SQL sowohl Backup Database als auch Backup Log als Befehle.
Der Vorteil des Vollständigen Wiederherstellungsmodells ist, wie jsyde schon geschrieben hat, die Möglichkeit eine Point in Time Recovery zu machen, also die Sicherung bis zu einem bestimmten Zeitpunkt einzuspielen (dazu braucht man dann die Datenbank- und die Transaktionsprotokollsicherungen), während bei einfach gibt's nur den Stand, an dem das Backup gemacht wurde.
Moin.
You're right. Sorry, da hab ich gepennt.
Cheers,
jsysde
Zitat von @AndreasHoster:
Ein Datenbankbackup ändert das Transaktionsprotokoll nicht. Dafür muß man Transaktionsprotokollsicherungen machen.
Ein Datenbankbackup ändert das Transaktionsprotokoll nicht. Dafür muß man Transaktionsprotokollsicherungen machen.
You're right. Sorry, da hab ich gepennt.
Cheers,
jsysde
Eine Verkleinerung macht wenig Sinn.
Wie jsysde schon sagt, wächst das File danach ja eh wieder bis das nächste Backup läuft.
Eine Verkleinerung (Shrink) ist sogar von Nachteil, da dadurch das Transactionlog fragmentiert wird und somit die Performance der Datenbank beeinträchtigen kann.
http://blogs.technet.com/b/austria/archive/2011/03/08/sql-server-the-tr ...
Gruß
Wie jsysde schon sagt, wächst das File danach ja eh wieder bis das nächste Backup läuft.
Eine Verkleinerung (Shrink) ist sogar von Nachteil, da dadurch das Transactionlog fragmentiert wird und somit die Performance der Datenbank beeinträchtigen kann.
http://blogs.technet.com/b/austria/archive/2011/03/08/sql-server-the-tr ...
Gruß