it-swarm.com.de

SQL-Protokolldatei 2 TB ist nicht genug, was nun?

Dies ist eine hypothetische Frage, die sich aus der Antwort von sepupic ergibt, in der erklärt wird, dass 2 TB die physikalische Grenze für die SQL-Protokolldatei ist.

wenn Sie mehr als 2 TB benötigen, fügen Sie die zweite Protokolldatei hinzu.

Ich bin seit langem der Überzeugung, dass mehrere Protokolldateien schlecht sind, wie im Beitrag beschrieben Mehrere Transaktionsprotokolldateien und Auswirkungen auf die Leistung

Ich kann mir kein Szenario vorstellen, in dem sogar 2 TB Protokolldateien vorhanden sind. Wenn dies jedoch der Fall ist und aus irgendeinem Grund häufigere Protokollsicherungen nicht behoben werden (, werden mehrere Szenarien impliziert ), was machst du?

Fügen Sie eine zweite Protokolldatei hinzu oder gibt es noch etwas anderes?

6
James Jenkins

mehrere Protokolldateien sind fehlerhaft

Es ist nicht so, dass mehrere Protokolldateien schlecht ... Es ist so, dass mehrere Protokolldateien völlig unnötig und bieten keinen Vorteil ... es sei denn, Sie benötigen eine Protokolldatei, die größer als 2 TB ist.

Bei Datendateien kann SQL Server von mehreren Dateien profitieren, da parallele E/A-Vorgänge zu/von beiden Dateien gleichzeitig ausgeführt werden. Bei Protokolldateien schreibt SQL Server jedoch nur auf die eine oder andere. Die Zirkularität der Protokolldatei bedeutet, dass SQL Server beim Erstellen von zwei Dateien in eine schreibt, zum Ende gelangt, dann in die andere schreibt, zum Ende gelangt und dann zur ersten zurückkehrt usw.

Es gibt keinen Leistungsgewinn durch mehrere Protokolldateien.

Aufgrund der Kapazitätsbeschränkung, dass jede Protokolldatei höchstens 2 TB groß sein kann, müssten Sie jedoch mehrere Protokolldateien erstellen, wenn Sie mehr als 2 TB Protokolldatei benötigen. Dies ist der nur Grund, mehrere Protokolldateien zu erstellen.

Warum benötigen Sie eine 2-TB-Protokolldatei?

Ich kann mir einfach kein Szenario vorstellen, in dem sogar 2 TB Protokolldateien auftreten

Weil Ihr Transaktionsprotokoll wächst während vollständiger Sicherungen , wenn Sie eine sehr große Datenbank haben, deren Sicherung eine Protokollzeit benötigt, und während Sicherungen sehr beschäftigt sind kann während der Sicherung mehr als 2 TB Transaktionsprotokoll generieren.

In ähnlicher Weise können Sie bei einer sehr großen Transaktion mit Protokollausführung (z. B. einer Indexwiederherstellung für eine sehr große Tabelle) 2 TB Transaktionsprotokoll generieren, bevor es wiederverwendet werden kann.

Natürlich Ihr Transaktionsprotokoll kann aus verschiedenen Gründen wachsen . Diese sind nicht unbedingt normal, damit Ihr Protokoll sehr groß wird, aber sie tragen zum Wachstum bei. Wenn Ihre Transaktionsprotokollsicherungen nicht erfolgreich abgeschlossen werden oder Ihre AG nicht synchronisiert oder die Replikation keine Transaktion aus Ihrem Protokoll liest ....... wächst Ihre Protokolldatei. Wenn diese Probleme weiterhin bestehen, erreicht Ihre Protokolldatei möglicherweise 2 TB.

Das heißt, die Notwendigkeit von 2 + TB Protokolldatei ist sehr selten .

8
AMtwo

Microsoft empfiehlt nur eine LDF-Datei für jede Datenbank.

Dieses Szenario ist wirklich sehr speziell. Sie können jedoch die folgenden Vorgänge ausführen:

1. Run the BACKUP LOG [database_name] WITH TRUNCATE_ONLY command
2. Run USE [database_name]
3. Run sp_helpdb 'database_name'
4. Write down the FileID of the log files.
5. For each file run the DBCC SHRINKFILE (FileID) command.

Ich hoffe ich habe dir geholfen :)

0

Fügen Sie eine zweite Protokolldatei hinzu oder gibt es noch etwas anderes?

Alternativ stellen Sie einfach eine angemessene autogrowth Größe ein und lassen Ihre Protokolldatei wachsen.

Es gibt keine Kontrolle darüber und die Protokolldatei kann 2Tb Überschreiten. Sie können sie nicht explizit festlegen, aber nichts verhindert das Wachstum Ihrer Protokolldatei, nur disk freier Speicherplatz.

0
sepupic