Announcement

Collapse
No announcement yet.

MS SQL Logfile wächst ins unendliche

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MS SQL Logfile wächst ins unendliche

    Hallo zusammen

    es geht um die problematik mit sql 2000. die logfiles wachsen unkontrolliert, und die einzige möglichkeit das ganze wieder in griff zu kriegen, ist mittels "shrink" befehl die logfiles von hand zu minimieren.

    kennt jemand ne möglichkeit im sql 2000 oder mit einem tool eines 3. anbieters diese problematik in griff zu kriegen und zu automatisieren?

    gruss stefan

  • #2
    Hallo,

    >..die logfiles wachsen unkontrolliert..

    so etwas passiert in der Regel nur dann, wenn für die Datenbank ein Eintrag für die Eigenschaft <b>Wiederherstellungs-Modell</b> (siehe Eigenschaftsdialog | Registerseite <i>Optionen</i>) ausgewählt wurde, der nicht zum genutzten Backup-Konzept passt.

    Die physische Log-Datei ist intern in virtuelle Logdateien unterteilt, deren Anzahl und Größe von der aktuellen Datenbankaktivität abhängt. Jeder Eintrag im Transaction Log erhält eine eindeutige Log Sequence Number (LSN). Die physische Datei für das Transaktions-Log wächst immer dann an, wenn der Platzbedarf für die virtuellen Logdateien am Ende der physischen Datei angekommen ist und der SQL Server <b>noch nicht die Log-Einträge vor der minimalen LSN gesichert</b> hat. Die Log-Eintrag vor der minimalen LSN spielen beim Recovery keine Rolle mehr, werden allerdings für das Rollforward benötigt, wenn die Datenbank nach dem Einspielen des letzen Voll-Backups über die gesicherten Log-Dateien wiederhergestellt werden soll. Wenn diese Log-Sequenzen nicht benötigt werden, kann der SQL Server die Log-Einträge vor der minimalen LSN auch überschreiben, wenn eine der folgenden Bedingungen erfüllt wurde:

    a) Das Log wurde über die T-SQL-Aufrufe BACKUP LOG WITH NO_LOG oder BACKUP LOG WITH TRUNCATE_ONLY abgeschnitten.


    b) Das Abschneiden der Log-Datei wurde über trunc. log on chkpt automatisch angefordert (SQL Server 7) oder über das Wiederherstellungs-Modell Einfach angefordert (SQL Server 2000).

    c) Es wird seit dem letzten vollständigen Backup eine Operation durchgeführt, die keine Log-Dateien anlegt (Bulkcopy).

    d) Es wurde noch niemals ein vollständiges Datenbank-Backup ausgelöst.

    &gt;...kennt jemand ne möglichkeit ...

    Selbstverständlich kann dies über T-SQL-Anweisungen erledigt werden:
    <pre>
    checkpoint -- explizit einen Prüfpunkt setzen, Logeinträge werden in DB geschrieben
    backup log Schulung with no_log -- Inaktive Einträge abschneiden
    dbcc shrinkfile(Schulung_Log) -- Logdatei soll verkleinert werden
    dbcc shrinkdatabase(Schulung) -- Datenbankdatei soll verkleinert werden
    </pre&gt

    Comment


    • #3
      vielen dank für deine hilfe. gruss stefa

      Comment

      Working...
      X