SQL Server-Ablaufverfolgungsflag 1800 Ausrichtung des Volume-Input/Output (I/O) des Transaktionsprotokolls
Summary: Das Microsoft SQL Trace Flag 1800 ist eine Einstellung, die SQL Server 4K I/O -Ausrichtung für das SQL-Transaktionsprotokoll-Volume ermöglicht. In diesem Artikel untersuchen wir die Ursache von falsch ausgerichteten E/A-Vorgängen für Transaktionsprotokolle und die Vorteile der Verwendung des Ablaufverfolgungsflags 1800. Dies gilt für Storage-Lösungen von Dell und anderen Anbietern mit virtualisierten SQL-Lösungen. ...
Symptoms
Wenn falsch ausgerichtete I/O-Vorgänge auftreten, kann es bei einer Anwendung zu einer erhöhten Schreiblatenz für Schreibvorgänge von Transaktionsprotokollen kommen, wenn große Datenmengen in die Datenbank eingefügt werden.
Ein detailliertes Beispiel für die Erkennung der potenziellen Fehlausrichtung finden Sie in diesem Broadcom-Blog. Nutzen Sie "Process Monitor" auf der SQL Server-Seite oder vSphere-Tools wie "vSAN I/O Insight", um das Problem zu diagnostizieren.
Die Auswirkungen einer I/O-Fehlausrichtung hängen stark vom Workload-Muster ab. Im Allgemeinen wurde bei größeren sequenziellen Schreib-I/O eine größere Auswirkung beobachtet.
Ein Beispiel für die Latenz aus Sicht der Schreibperformance ohne das Trace-Flag 1800:

Wenn das Trace Flag 1800 festgelegt ist:
Cause
vSphere ESXi stellt VMDKs (VMware Virtual Machine Disks) für das Gastbetriebssystem mit einer physischen Sektorgröße von 512 Byte (512n-Formatierung) zur Verfügung.
SQL Server verwendet einen erweiterten Mechanismus zur Berechnung der I/O-Blockgröße des Transaktionsprotokolls. SQL verwendet die physische Sektorgröße der präsentierten VMDK, in der die Transaktionsprotokolldateien platziert werden, um die Transaktionsprotokoll-I/O-Blockgröße anzupassen. Dies ist bei Daten-Volumes, die herkömmlich die Größe der Zuweisungseinheit "NTFS" (Dateisystem) (nutzergesteuert) verwenden, anders.
Die I/O-Laufwerksausrichtung sorgt dafür, dass Daten auf Speichermedien in einer Weise geschrieben werden, die mit den physischen Sektoren des Laufwerks übereinstimmt. Dies trägt dazu bei, falsch ausgerichtete I/O-Vorgänge zu vermeiden, die sich auf die Schreibperformance auswirken können.
Hinweis: Dies ist nicht spezifisch für Storage-Lösungen. Verschiedene Lösungen verwalten falsch ausgerichtete I/O auf ihre eigene Weise und zeigen möglicherweise nicht dieselben Symptome. Unabhängig davon wird immer empfohlen, die I/O gemäß den Best Practices der Storage-Lösung auszurichten.
Resolution
Mithilfe des Ablaufverfolgungsflags 1800 können Sie sicherstellen, dass Ihr SQL-Transaktionsprotokollvolume ordnungsgemäß an einer 4k-Grenze ausgerichtet ist. Je nach Volume-Blockgröße der zugrunde liegenden Storage-Lösung wird dadurch die Schreibperformance optimiert.
Bevor Sie das Ablaufverfolgungsflag 1800 aktivieren, wenden Sie sich an Ihr Microsoft SQL-Team, um mögliche Fehlausrichtungs- und Konfigurationshinweise zu bestätigen.
Hinweis: Das Ablaufverfolgungsflag 1800 erfordert einen Neustart des SQL Server-Diensts. Das Anwenden des Flags mit dem Befehl "DBCC trace on" des Datenbankkonsistenzprüfers (DBCC TRACE ON) HAT KEINE AUSWIRKUNGEN.
Additional Information
Microsoft verweist auf das Ablaufverfolgungsflag 1800 für Verfügbarkeitsgruppen mit Replikationsgruppen auf verschiedenen Festplatten. Das Ablaufverfolgungs-Flag hat sich auch bei der allgemeinen Best-Practice-Performance als effektiv erwiesen.