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

Probleme bei der Ausführungsreihenfolge von AND und OR in SQL-Anweisungen

Frage Beim Schreiben von Datenbank-SQL ist mir ge...

Detaillierte Erklärung des Loop-Formularelementbeispiels in Vue

Manchmal stoßen wir auf eine solche Anforderung, ...

So erlauben Sie allen Hosts den Zugriff auf MySQL

1. Ändern Sie den Host-Feldwert eines Datensatzes...

Docker verwendet Root, um in den Container zu gelangen

Führen Sie zuerst den Docker-Container aus Führen...

js um das Schlangenspiel mit Kommentaren zu implementieren

In diesem Artikelbeispiel wird der spezifische Co...

SVN-Installation und grundlegende Bedienung (grafisches Tutorial)

Inhaltsverzeichnis 1. Was ist SVN? 2. Methoden zu...

Tutorial zur Verarbeitung statischer Ressourcen in Tomcat

Vorwort Alle Anfragen in Tomcat werden von Servle...

Detaillierte Analyse der MySQL-Sperrblockierung

Bei der täglichen Wartung werden Threads häufig b...

Node.js+Postman zur Simulation der HTTP-Server- und Client-Interaktion

Inhaltsverzeichnis 1. Node erstellt HTTP-Server 2...

Implementierungsmethode für die bidirektionale Bindung von Vue-Daten

Inhaltsverzeichnis 1. Einleitung 2. Code-Implemen...