Log-Datei-Größe stark beschränken?

ensdev_2010

Neuer Benutzer
Beiträge
3
Hallo,

ich habe eine Datenbank xyz in MS SQL Server 2008, die ca. 20 Gb groß ist. Sie ist die Grundlage für ein Datawarehouse. Aus diesem Grund werden alle Tabellen jede Nacht geleert, und per Job aus der Datenbank abc neu befüllt (wobei auch ETL-Prozesse angewendet werden).

Die Datenbank hat zwei physikalische Dateien: xyz.mdf und xyz_log.mdf. Die Log-Datei wächst sehr schnell auf über 10 Gb an. Da xyz aber sowieso jede Nacht neu befüllt wird, brauche ich keine Log-Daten. Ja im Grunde genommen bräuchte ich nicht einmal ein Backup. Ich habe das "Recovery Model" bereits auf "Simple" gesetzt, sonst würde die Log schnell die 100 Gb sprengen!

Kann ich das Dateiwachstum der Log ohne Bedenken auf z.B. 100 Mb beschränken? Oder könnte das irgendwelche negativen Auswirkungen haben? Leider ist der Platz auf dem Server etwas knapp, sodass ich da haushalten muss.

Danke schonmal!
 
Werbung:
Hallo ensdev_2010,

Du kannst nur noch lesend auf die Datenbank zugreifen wenn dein Log voll ist.

ich würde das Transaktionsprotokoll einmal pro Stunde (als Job) sicheren (Option alle Sicherungssätze überschreiben) und die Log-Datei (nicht die Datenbank) verkleinern.

Das beschränkt das Log zwar nicht auf 100MB müsste aber helfen.

Gruß Charly
 
Hallo Charly,

ich habe im Kontextmenü der DB die Möglichkeit gefunden, explizit die Log-Datei zu verkleinern (Rechtsklick xyz -> Tasks -> Verkleinern -> Dateien). Ist dir eine Möglichkeit bekannt, dies als Job zu definieren? Wie hängt die Verkleinerung mit dem Transaktionsprotokoll zusammen?

Die Dateigröße muss nicht explizit mit 100 Mb gedeckelt werden. Jede Möglichkeit, von den 10 Gb runterzukommen, hilft jedoch schon sehr weiter.
 
Werbung:
Hallo,
was mich ein wenig wundert:
Wenn Du das "Recovery Model" bereits auf "Simple"gestellt hast, dann sollten keine Daten mehr in das Transaktionsprotokoll fliessen, das LOG-File wird nur für Wiederherstellung benötigt, sprich, es werden je nach Recovery Model nur Transaktionen gespeichert. Bei "Simple" werden keine Transaktionen ins LOG geschrieben.
Hast Du das evtl umgestellt und den SQL Server Dienst nicht neu gestartet?
Oder aber wird bei Dir immer die Datenbank neu erzeugt, und nicht die Tabellen?
Hab ich auch schon gesehen im Zusammenhang mit DataWarehouse.

Ansonsten ist der Weg schon richtig mit DBCC SHRINKFILE, klar..

Hab ich da nun einen Gedankenfehler mit dem LOG-File?

freshman
 
Zurück
Oben