Announcement

Collapse
No announcement yet.

Transaction LOG

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

  • Transaction LOG

    Hallo zusammen,

    wie kann ich in das Transactionlog schauen, da meine Datenbank dies vollschreibt (ca. 45GB !!!).
    Habe es schon umbenannt und ein neues angelegt.
    Jedoch gehen die Tendenzen wieder nach oben.

    Gibt es eine Lösung von Fremdanbietern?
    Habe gerade den LogExplorer for SQL Server von der Fa. Lumigent heruntergeladen. Jedoch kann ich nur die Pub- und Northwind Datenbank auswählen.

    Danke vorab.

    Gruss
    Daniel

  • #2
    Hallo,

    >..da meine Datenbank dies vollschreibt

    dies liegt dann aber nicht am SQL Server ;-)

    Je nach der Konfiguration der Datenbank (siehe Eigenschaft <b>Wiederherstellungs-Modell</b>), einer eingerichtete Replikation oder dem Zeitpunkt des letzten Datenbank- /Log-Backups muss der SQL Server unter Umständigen alle Aktionen im Log archivieren, so dass die physische Datei ständig größer wird.

    Eine <B>Entwicklung- oder Testdatenbank</b> kann im Query Analyzer über die folgenden T-SQL-Aufrufe verkleinert werden:
    <pre>
    checkpoint
    backup log <i>Datenbankname</i> with no_log
    dbcc shrinkfile(<i>Datenbank_Logname</i>)
    dbcc shrinkdatabase(<i>Datenbankname</i>)
    </pre>
    Die physische 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 noch nicht die Log-Einträge vor der minimalen LSN gesichert 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.

    Wenn eine dieser Bedindungen zutrifft, recycelt der SQL Server immer denn den "alten" Logbereich, wenn eine virtuelle Logdatei an das Ende der physischen Logdatei kommt. Das Abschneiden des Logs markiert also nur den wiederverwendbaren Platz der Logdatei, verkleinert diese jedoch nicht. Zur Verkleinerung der physischen Logdatei stehen 2 Wege offen:<br>
    1. Datenbank-Optionsdialog: Automatisch verkleinern, oder <br>
    2. Oder manuell über SQL Query Analyzer über die o.g. Anweisungen.
    &#10

    Comment


    • #3
      > Gibt es eine Lösung von Fremdanbietern? Habe gerade den LogExplorer for SQL Server von der Fa. Lumigent heruntergeladen. Jedoch kann ich nur die Pub- und Northwind Datenbank auswählen.

      Das ist die Einschränkung der Demo-Version. Die Vollversion kann in alle Log-Dateien reinschauen

      Comment

      Working...
      X