1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

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

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von ensdev_2010, 21 April 2011.

  1. ensdev_2010

    ensdev_2010 Neuer Benutzer

    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!
     
  2. Charly

    Charly Datenbank-Guru

    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
     
  3. ensdev_2010

    ensdev_2010 Neuer Benutzer

    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.
     
  4. Charly

    Charly Datenbank-Guru

    Hallo ensdev_2010,

    einfach in der Hilfe nach DBCC SHRINKFILE suchen.

    Gruß Charly
     
  5. ensdev_2010

    ensdev_2010 Neuer Benutzer

    Ok, das werde ich nächste Woche ausprobieren. Danke schon mal und frohe Ostern!
     
  6. freshman

    freshman Datenbank-Guru

    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
     

Diese Seite empfehlen