Wie bereinige ich die Datenbankprotokolldatei automatisch, um Fehler zu vermeiden?

Wie bereinige ich die Datenbankprotokolldatei automatisch, um Fehler zu vermeiden?

Ich hoste eine Website und erhalte manchmal eine Fehlermeldung: The log file for database '%.*ls' is full.und muss meinen Hosting-Anbieter kontaktieren, um die Datenbank-Protokolldatei zu bereinigen.

Wie kann ich die Protokollierung deaktivieren oder sie so konfigurieren, dass die Protokolldatei nicht voll wird?

(Ich verwende die Community Server-Engine, daher ist keine SQL-Optimierung erforderlich.)

Antwort1

Die Protokolldatei hängt vom Datenbankwiederherstellungsmodell ab. Die Standardeinstellung ist „Vollständig“, was bedeutet, dass Sie Sicherungen der Datenbank und des Transaktionsprotokolls durchführen. Wenn Sie das Transaktionsprotokoll sichern, wird es gekürzt. Wenn Sie das Transaktionsprotokoll nie sichern, wird es für immer wachsen. Wenn Sie nur die vollständige Datenbank sichern möchten, ändern Sie das Wiederherstellungsmodell in „Einfach“.

Sobald dies geändert wurde, möchten Sie die Protokolldateien verkleinern (Rechtsklick auf Datenbank in SQL Management Studio, Aufgaben > Verkleinern > Dateien). Sie können sie auf automatisches Verkleinern einstellen, aber sobald Sie das zugrunde liegende Problem mit dem Wiederherstellungsmodell behoben haben, ist dies möglicherweise nicht mehr nötig.

Antwort2

Dies bezieht sich auf das Transaktionsprotokoll, nicht auf ein Fehlerprotokoll, und das kann auf SQL Server nicht deaktiviert werden. Jede Transaktion schreibt in das Transaktionsprotokoll, bevor eine Änderung in die Datenbank selbst geschrieben wird, um die Integrität der Datenbank zu schützen. Wenn die Datenbank das vollständige Wiederherstellungsmodell verwendet (was bei Ihrer anscheinend der Fall ist), werden die Transaktionsprotokolldatensätze erst nach einer Transaktionsprotokollsicherung (keine vollständige Sicherung) überschrieben. Wenn Sie das Wiederherstellungsmodell auf „einfach“ ändern, werden die Protokolldatensätze für einen kürzeren Zeitraum aufbewahrt, und Transaktionsprotokollsicherungen sind nicht erforderlich. Abhängig von Ihrem Hosting-Anbieter liegt dies jedoch möglicherweise außerhalb Ihrer Kontrolle. Sie müssten prüfen, wie viel Kontrolle Sie über die Datenbankeinstellungen haben, und die Änderung anfordern, wenn Sie keine direkte Kontrolle haben.

verwandte Informationen