tSh-Floyd 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 Guten morgen! Ich habe eine Frage zum SQL und seinen LogFiles. Ich habe eine Datenbank die knapp 50Gb groß ist. Nun ist es so, dass die Logfile auch knapp 50Gb groß ist. Ich denke es hängt damit zusammen, dass die Datenbank scheinbar täglich Vollgesichert wird und dabei das Transaktionsprotokoll nicht abgeschnitten wird, ist das korrekt? Haben so große Log Dateien einen negativen Einfluss auf die Performance vom SQL? Gruß Philipp Zitieren Link zu diesem Kommentar
Ivey 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 ja, haben Sie, denn der Speicher vom Server ist irgendwann ja voll. Stell doch die Größe des Logfiles kleiner ein. Zitieren Link zu diesem Kommentar
tSh-Floyd 10 Geschrieben 20. November 2008 Autor Melden Teilen Geschrieben 20. November 2008 Du meinst mit speicher den arbeitsspeicher? Wenn ich die größe begrenze, was passiert wenn die größe erreicht ist, schmeißt er dann die ältesten einträge im logfile raus? Alternativ könnte ich doch auch eine Manuelle VollSicherung und dann eine Manuelle Sicherung des Transaktionsprotokolls machen, dann wird das doch abgeschnitten oder? Zitieren Link zu diesem Kommentar
Ivey 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 Hi, welchen SQL hast du installiert? Zitieren Link zu diesem Kommentar
tSh-Floyd 10 Geschrieben 20. November 2008 Autor Melden Teilen Geschrieben 20. November 2008 SQL 2005 einmal auf W2k8 und einmal auf W2k3 jeweils 64Bit mit je 12GB Ram Zitieren Link zu diesem Kommentar
Ivey 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 Hi, im SQL-Studio, Abfrage auf die Logfiledatenbank use "Datenbankname" backup log "Datenbankname" with truncate_only use "Datenbankname" DBCC SHRINKFILE ("Datenbank_log", 200) für 200 wird das logfile auf 200mb beschränkt. ist das logfile voll, werden alte daten hinten rausgeworfen. Zitieren Link zu diesem Kommentar
tSh-Floyd 10 Geschrieben 20. November 2008 Autor Melden Teilen Geschrieben 20. November 2008 die änderungen die dann in dem bereich stehen der rausfliegt aus dem log, bleibt aber in der db drin oder? Sprich wenn ich ein FullBackup mache nachdem ich die logfile größe beschnitten hab, sind die änderungen ja in dem fullbackup drin, oder? Zitieren Link zu diesem Kommentar
Ivey 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 Hallo, im backup nach dem logfileverkleinern, ist selbstverständlich nur der stand des logfiles zum zeitpukt des backups (also kleines logfile) Zitieren Link zu diesem Kommentar
tSh-Floyd 10 Geschrieben 20. November 2008 Autor Melden Teilen Geschrieben 20. November 2008 das ist klar, aber wenn ich eine vollständige Sicherung mache, ist doch wieder alles drin, danach kann ich ja dann das log seperat sichern. Zitieren Link zu diesem Kommentar
Ivey 10 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 ja kannst du. ich mach bei mir das backup über wartungspläne, aber so solle es auch gehen Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 20. November 2008 Melden Teilen Geschrieben 20. November 2008 Moin, bevor weiter an den Logfiles rumgedoktert wird: SQL Server schneidet die Logs automatisch dann ab, wenn sie gesichert werden. Führt man nur eine Vollsicherung der DB aus, sichert SQL Server die Logs nicht und schneidet sie auch nicht ab. Gefahr: Irgendwann ist die Platte voll. Abhilfe: Variante 1: Wenn man das Log in die Wiederherstellungsstrategie einbinden möchte, definiert man einen zusätzlichen Backupjob, der das Log in regelmäßigen Abständen sichert. Bei jeder Sicherung wird es abgeschnitten. Variante 2: Wenn das Log keine Rolle in der Wiederherstellungsstrategie spielt, weil man nur DB-Vollsicherungen nutzen möchte (bei vielen Datenbanken ist das durchaus okay), dann stellt man in den Datenbankoptionen das Wiederherstellungsmodell (Recovery Model) von "Vollständig" auf "Einfach" um. Dadurch schneidet SQL Server das Log automatisch nach jeder geschriebenen Transaktion ab und es wächst nicht mehr an. Gruß, Nils Zitieren Link zu diesem Kommentar
tSh-Floyd 10 Geschrieben 21. November 2008 Autor Melden Teilen Geschrieben 21. November 2008 Morgen! Das heißt das die Datei mit den Logilfes dann automatisch kleiner wird oder muss ich das mit dem shrinkfile befehl trotzdem noch machen? Habe gestern ein FullBackup gemacht und anschließend ein Transaktionsbackup aber die LogFiles sind immer noch so groß :/ Vielen Dank Gruß Philipp Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 21. November 2008 Melden Teilen Geschrieben 21. November 2008 Moin, Dateien verkleinert SQL Server nur auf Anforderung. Mit den von mir genannten Verfahren verhinderst du, dass die Logs ins Unendliche wachsen. Um die vorhandenen Dateien zu verkleinern, nutzt du DBCC SHRINKFILE oder die entsprechende Option im SQL Server Management Studio. Dabei kann es passieren, dass die Datei nicht gleich kleiner wird. In dem Fall das Log sichern und nach ein paar Stunden oder Tagen nochmal verkleinern. Der Platz wird nämlich nur am Ende der Datei freigegeben - wenn der aktive Teil des Logs aber gerade am Ende der Datei ist, kann man natürlich nichts freigeben. Nach einem Backup wird der aktive Teil des Logs aber irgendwann wieder am Anfang der Datei liegen, und der Platz am Ende kann freigegeben werden. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.