SQL Server: Wie erhöhe ich die Größe des Transaktionsprotokolls?
-
06-07-2019 - |
Frage
Wie erhöhe ich die Größe des Transaktionsprotokolls? Ist ist auch möglich, vorübergehend das Transaktionsprotokoll zu erhöhen?
Lassen Sie uns sagen, dass ich das folgende Szenario haben. Ich habe einen Löschvorgang, die für das aktuelle Transaktionsprotokoll zu groß ist. Ich wan't zu:
- Erhöhen Sie das Transaktionsprotokoll (kann ich die aktuelle Größe erkennen ?, kann ich feststellen, wie groß ich das Transaktionsprotokoll müssen für meine Operation sein?)
- (Perform meiner Operation)
- Backup das Transaktionsprotokoll
- Stellen Sie die Größe des Transaktionsprotokolls.
Lösung
Kurze Antwort:
- SQL 2k5 / 2k8 Gewusst wie: die Größe einer Datenbank zu erhöhen (SQL Server Management Studio) (gilt auch für log), Gewusst wie: verkleinern einer Datenbank (SQL Server Management Studio)
- SQL 2K Wie die Größe einer Datenbank erhöhen (Enterprise Manager) , Wie ein schrumpfen Datenbank (Enterprise Manager)
Lange Antwort: Sie können ALTER DATABASE ... MODIFY FILE
verwenden, um die Größe der Datenbank-Dateien zu ändern, einschließlich LOG-Dateien. Sie können master_files/sysfiles
(2k) oder <dbname>.sys.database_files
nachschauen (2k5 / 2k8) den logischen Namen des Protokolls zu erhalten. Und Sie können verwenden DBCC SHRINKFILE
eine Datei zu verkleinern (wenn möglich).
kann ich feststellen, wie groß ich brauche die Transaktionsprotokoll zu sein für meine Betrieb?
Es hängt von vielen Faktoren ab (ist diese neuen Daten? Ist es ein Update? Ist es ein löschen? Welche Wiederherstellungsmodell? Haben Sie die Komprimierung auf SQL 2k8 haben? Etc etc), aber ist in der Regel größer, als Sie erwarten. Ich würde das 2,5-fache der Größe des Updates schätzen Sie sind auszuführen.
Update:
Missed Sie sagen, ist ein DELETE. Eine grobe Schätzung ist das 1,5-fache der Größe der gelöschten Daten (einschließlich aller Indizes).
Andere Tipps
kann das Transaktionsprotokoll konfiguriert werden, je nach Bedarf zu erweitern. Sie legen die Option automatisch wachsen. Allerdings, wenn das Transaktionsprotokoll zu groß wird (aus Festplattenspeicher ausgeführt wird) oder SQL Server unbrauchbar zu machen.
Sichern Sie Transaktionsprotokoll. SQL wird automatisch inaktive Transaktionen gestutzt
Wenn Sie das Transaktionsprotokoll wiederherstellen reduziert werden
So konfigurieren Sie automatische Vergrößerung:
- Rechtsklick auf die Datenbank im Management Studio.
- Wählen Sie Eigenschaften
- Update Automatische Vergrößerung Wert
Der wichtigste Teil ist die letzte Zeile Ihres Szenarios: „Stellen Sie die Größe des Transaktionsprotokolls“ Sie meinen, das Protokoll wieder auf seine ursprüngliche Größe schrumpfen.
Das ist wirklich gefährlich für eine Vielzahl von Gründen, und wir haben sie in ein paar Geschichten über bei SQLServerPedia bedeckt: