Wir verwenden die AlwaysOn Availability Group
Funktion von SQL Server 2012. Regelmäßige vollständige Datenbank- und Transaktionsprotokollsicherungen werden täglich in der sekundären Datenbank durchgeführt.
Ich habe hier gelesen , dass das Durchführen der Transaktionsprotokollsicherung entweder auf dem primären oder dem sekundären Replikat die Transaktionsprotokolle beider Replikate als wiederverwendbar markiert. Wie auch immer, die Sicherungsgröße des Transaktionsprotokolls ist groß und kann mithilfe der Datei verkleinert werden:
Ich habe die Datenbank lokal wiederhergestellt und den Verkleinerungsvorgang ausgeführt. Die Größe der Protokolldatei wurde auf 160 MB reduziert.
Meine Frage ist, auf welcher Datenbank ich einen Verkleinerungsvorgang über die Transaktionsprotokolldatei (primär, sekundär oder beides) ausführen soll.
Ich denke, in der Vergangenheit wurden seit einigen Jahren keine Backups der Protokolldatei erstellt, so dass sie so umfangreich geworden ist. Beim Ausführen DBCC SQLPERF (LOGSPACE)
kann ich feststellen, dass nur 0.06%
die Datei verwendet wird. Es hat keinen Sinn, die Protokolldatei so groß zu halten. In [sys].[database_files]
überprüfe ich, ob max_size
es auf -1
mit gesetzt ist growth
, 65536
damit ich schätze, wenn es mehr Platz braucht, wird es bekommen. Jedenfalls kann ich es auf 5% reduzieren, um zukünftiges Wachstum zu verhindern. Ich versuche eine Bestätigung zu finden, dass es keine schlechte Idee ist, dies zu tun.
Eigentlich werden Sicherungen (in der Datenbank und in den Protokolldateien) nur in den sekundären Datenbanken ausgeführt, sodass die Verkleinerungsdatei einfacher ausgeführt werden kann. Wird jedoch auch die Größe der primären Protokolldatei verringert?