Lösen Sie das Problem der Verkleinerung des Mysql-Transaktionsprotokolls und der Protokolldateien, die zu groß zum Verkleinern sind

Lösen Sie das Problem der Verkleinerung des Mysql-Transaktionsprotokolls und der Protokolldateien, die zu groß zum Verkleinern sind

1. MS SQL SERVER 2005

--1. Löschen Sie das Protokoll
exec('DUMP TRANSACTION Datenbankname WITH NO_LOG')
--2. Das Transaktionsprotokoll kürzen:
exec('BACKUP LOG-Datenbankname WITH NO_LOG')
--3. Verkleinern Sie die Datenbankdatei (wenn sie nicht komprimiert ist, wird die Datenbankdatei nicht verkleinert
exec('DBCC SHRINKDATABASE(Datenbankname) ')
--4. Automatisches Verkleinern einstellen
exec('EXEC sp_dboption Datenbankname,autoshrink,TRUE')

2.MS SQL SERVER 2008 & 2008r2 & 2012 & 2016

--In SQL2008 muss das Löschen des Protokolls im einfachen Modus erfolgen und nach Abschluss des Löschvorgangs wieder in den vollständigen Modus gewechselt werden.
VERWENDEN [Meister]
GEHEN
ALTER DATABASE Datenbankname SET RECOVERY SIMPLE MIT NO_WAIT
GEHEN
ALTER DATABASE Datenbankname SET RECOVERY SIMPLE --Einfacher Modus GO
USE Datenbankname GO
--crm50sp1_log ist der logische Name der Datenbankprotokolldatei DBCC SHRINKFILE (N'crm50sp1_log', 11, TRUNCATEONLY)
GEHEN
VERWENDEN [Meister]
GEHEN
ALTER DATABASE Datenbankname SET RECOVERY FULL WITH NO_WAIT
GEHEN
ALTER DATABASE Datenbankname SET RECOVERY FULL --Wiederherstellen im Vollmodus GO

3. Die Protokolldatei ist ungewöhnlich groß und kann nicht verkleinert werden

Wenn die Protokolldatei ungewöhnlich groß ist und nicht verkleinert werden kann, müssen Sie überprüfen, ob nicht festgeschriebene oder zurückgesetzte Transaktionen vorhanden sind.

Führen Sie den Befehl DBCC OPENTRAN aus, um zu prüfen, ob es Transaktionen gibt, die sehr früh ausgeführt wurden (die Startzeit der Transaktion wird in der Meldung angezeigt). Wenn Transaktionen angezeigt wurden, bedeutet dies, dass für die Transaktion kein Commit oder Rollback ausgeführt wurde. Daher kann MinLSN nicht vorwärts gerollt werden.
In diesem Fall gibt es zwei Möglichkeiten: Eine besteht darin, den Prozess mit der in den Informationen angezeigten Prozessnummer zu beenden. Prozessnummer beenden; (Natürlich ist auch ein Neustart des SQL-Dienstes in Ordnung, sofern Ausfallzeiten zulässig sind);

Wenn keine Transaktionen vorhanden sind, die über einen längeren Zeitraum nicht abgeschlossen wurden, einfacher Modus: Sichern Sie zuerst die Datenbank und führen Sie dann „BACKUP LOG-Datenbankname WITH NO_LOG“ aus. Vollständiger Modus: Wenn keine vollständige Sicherung durchgeführt wurde, führen Sie zuerst eine vollständige Sicherung durch, sichern Sie dann die Protokolldatei und führen Sie abschließend „DBCC SHRINKFILE“ (N‘logischer Name der Protokolldatei‘, 0, TRUNCATEONLY) aus, um nur die Protokolldatei zu verkleinern.

Der logische Name der Protokolldatei kann mit der folgenden Anweisung ermittelt werden: USE erp database go SELECT [name] FROM sys.database_files WHERE type_desc='LOG'

Zusammenfassen

Oben habe ich Ihnen erklärt, wie Sie das Problem der Verkleinerung von MySQL-Transaktionsprotokollen und der zu großen Protokolldateien lösen können. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So verkleinern Sie die Protokolldatei in MYSQL SERVER
  • So konvertieren Sie MySQL-Bin-Log-Protokolldateien in SQL-Dateien
  • Zusammenfassung der grundlegenden Betriebsbefehle für binäre Protokolldateien des Binärprotokolls in MySQL
  • Grundlegende Konzepte von Binär- und Redo-Logdateien in MySQL
  • Details zur MySQL-Protokolldatei
  • Einführung in MySQL-Protokolldateien und -Protokolltypen
  • MySQL-Binärprotokolldatei - Datenbank wiederherstellen
  • Austausch von Ideen und Lösungen zum automatischen Wiederherstellen von MySQL-Datenbankprotokolldateien
  • Bringen Sie Ihnen bei, die Protokolldatei (binlog) der MySQL-Datenbank automatisch wiederherzustellen
  • Wo befindet sich die MySQL-Protokolldatei? So ändern Sie den Speicherort der MySQL-Protokolldatei
  • Zusammenfassung wichtiger MySQL-Protokolldateien

<<:  jQuery implementiert Akkordeon-Kleinbuchstaben

>>:  So konfigurieren Sie den virtuellen Nginx-Host in CentOS 7.3

Artikel empfehlen

Detaillierte Erklärung der 10 häufigsten HTTP-Statuscodes

Der HTTP-Statuscode ist ein dreistelliger Code, d...

JS implementiert den Beispielcode der Dezimalkonvertierung in Hexadezimal

Vorwort Beim Schreiben von Code stoßen wir gelege...

5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Vorwort Die meisten Benutzer führen diesen Vorgan...

So verwenden Sie nginx, um eine angegebene Schnittstelle (URL) zu blockieren

1. Einleitung Manchmal müssen Sie eine Servicesch...

Der Unterschied zwischen MySQL Outer Join und Inner Join Abfrage

Die Syntax für einen äußeren Join lautet wie folg...

Vue realisiert die Bildschirmanpassung von Großbildschirmseiten

In diesem Artikel wird der spezifische Code von V...

Einführung in die Stammverzeichniserweiterung unter Linux

1. Überprüfen Sie den Linux-Festplattenstatus df ...