Transaktionsprotokoll verkleinern - MS-Office-Forum
MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL > SQL-FAQ
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Themen-Optionen Ansicht
Alt 25.02.2004, 17:28   #1
Joachim Hofmann
MOF Koryphäe
MOF Koryphäe
Standard Transaktionsprotokoll verkleinern

Mein Transaktionsprotokoll wächst auf eine nicht mehr tragbare Größe heran, was tun? (Microsoft SQL Server)

Zunächst:
  • Transaktionsprotokoll sichern. Dabei verkleinert es sich, da ein Teil des Protokolls nun in der Sicherungsdatei steht.
    Beispiel einer Sicherung:
    BACKUP LOG <Datenbankname>
    TO <Sicherungsdevice>

  • Falls man keine Sicherung benötigt, kann man das Transaktionsprotokoll auch abschneiden.
    Syntax:
    BACKUP LOG <Datenbankname>
    WITH TRUNCATE_ONLY

    Warnung: Eine Wiederherstellung der Datenbank im Fehlerfall mit Hilfe des Transaktionsprotokolls ist in diesem Fall nicht mehr möglich.

  • Falls das alles noch nicht zum gewünschten Ziel führt, kann man die Datei, die das Transaktionsprotokoll beinhaltet, auch physikalisch verkleinern, und zwar auch auf eine Größe unterhalb der bei der Erstellung der Datenbank angegebenen Anfangsgröße. Der Befehl lautet:
    DBCC SHRINKFILE (<logischer Dateiname des Transaktionsprotokolls>).

    Anmerkung:
    Der Befehl DBCC SHRINKFILE ist auch für Datenbankdateien geeignet. In diesem Fall wird geraten, danach DBCC REINDEX, oder, einfacher, einen Wartungsplan, der die Tabellen neu indiziert, abzusetzen, da die Daten durch das Verkleinern umorganisiert wurden.

  • Falls SQL Server für die Aktionen an der jeweiligen Datenbank gar kein Transaktionsprotokoll führen soll, kann man das Wiederherstellungsmodell auch auf "einfach" setzen (-> Datenbankeigenschaften; ab SQL Server 2000).
    Hierfür gilt die gleiche Warnung wie im zweiten Punkt.

    Anmerkung: Das Setzen dieses Modelltyps ist mit dem Festlegen der Datenbankoption trunc. log on chkpt bei älteren Versionen von Microsoft SQL Server zu vergleichen.

  • Um Vorgänge wie Sichern oder Reindizieren zu automatisieren, erstellt man üblicherweise einen Wartungsplan oder einen Auftrag. Ein Wartungsplan stellt vordefinierte Vorgänge bereit. Ein Auftrag ist dagegen flexibler und bietet komplexere Möglichkeiten wie das Ausführen von SQL-Befehlen.
  • Joachim Hofmann ist offline  
    verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
    Antworten Auf Beitrag antworten
    Alt 19.10.2006, 06:49   #2
    MoonOverMarin
    Standard

    allerdings ist anzumerken dass das kürzen des logs über diesen befehl für den sql server 2005 nicht mehr empfohlen wird da er in künftigen versionen nicht mehr enthalten sein wird laut ms
    wege abwärtskompatibilität geht er aber noch in der 2005er
     
    verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
    Antworten Auf Beitrag antworten
    Antworten


    Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
     
    Themen-Optionen
    Ansicht

    Forumregeln
    Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
    Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
    Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
    Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

    vB Code ist An.
    Smileys sind An.
    [IMG] Code ist An.
    HTML-Code ist An.
    Gehe zu


    Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.



    Powered by: vBulletin Version 3.6.2 (Deutsch)
    Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

    Copyright ©2000-2024 MS-Office-Forum. Alle Rechte vorbehalten.
    Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
    Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
    ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.