Freigeben über


Verbesserung: Mehrere Verbesserungen am SQLIOSim-Hilfsprogramm vornehmen

Zusammenfassung

Diese Verbesserung macht die folgenden Verbesserungen am SQLIOSim-Hilfsprogramm und behebt Datenintegritätsprobleme, die möglicherweise durch die E/A-Behandlung verursacht werden. Weitere Informationen zum SQLIOSim-Hilfsprogramm finden Sie in der Einführung des SQLIOSim-Hilfsprogramms.

Verbesserte Protokollierung

  • Fügt einen neuen Ringpuffer hinzu, um Fehler nachzuverfolgen, damit es unwahrscheinlich ist, dass Fehler im Verlaufsringpuffer aufgrund des Rollovers ersetzt werden.
  • Fügt verschiedene Ausgaben hinzu, die "Teilstrichanzahl" und/oder "Datum und Uhrzeit" enthalten, um das Debuggen eines Problems zu vereinfachen.
  • Fügt die Ausgaben und fsutil Volumeinformationen zur Fehlerdatei hinzu, um den Dateioffset dem Offset auf dem physischen Datenträger zuzuordnen und die E/A-Subsystemablaufverfolgungen einfacher zu filtern.
  • Fügt die Ausgabe für koordinierte Weltzeit (UTC) und Ortszeit hinzu.
  • Bricht die Ausgabe der Seitenkopfzeile in die Fehlerdatei auf, z. B. PageId, Checksum und Timestamp.
  • Zeigt eine Liste der Seiten des FILE HISTORY Ringpuffers an, um Ringpuffereinträge einfacher zu finden.
  • Zeigt Zeitstempel, Datumszeit, logische CPU und andere Spalten in der Ansicht Sqliosim.log.xml oder ErrorLog.xslt an.
  • Erhöht die Größe der Ringpuffer und reduziert die Häufigkeit des Rollovers.
  • Stellt hexadezimale und dezimale Ausgaben für allgemeine Ausgaben wie PageId, Checksum und Timestamp bereit.
  • Aktualisiert das Layout von Sqliosim.log.xml , um das Lesen der XML-Datei in einem Text-Editor zu vereinfachen.
  • Überprüfte Sqliosim.log.xml und ErrorLog.xslt können korrekt in Microsoft Edge angezeigt werden, die internet Explorer (IE)-Modus verwendet.

Seitenkopfzeitstempel

Speichert den GetTickCount64 Wert im Seitenkopf während der Schreibvorgänge. Die Teilstrichanzahl eignet sich zum Nachverfolgen, wenn die Seite geschrieben und die E/A-Subsystemablaufverfolgungen gefiltert wird.

BNR (Bytes-Not-Read)

Das E/A-Problem bewirkt, dass der Lesevorgang zurückgegeben wird, als ob der Lesevorgang erfolgreich ist, aber der tatsächliche Puffer nicht aktualisiert oder gelesen wird. Das SQLIOSim-Hilfsprogramm empfängt einen erfolgreichen Lesevorgang, schlägt jedoch die Überprüfungen fehl.

Das SQLIOSim-Hilfsprogramm stempelt jetzt die Lesepuffer mithilfe des BNR-Musters, bevor ein Lesevorgang ausgestellt wird. Wenn der Lesevorgang erfolgreich zurückgegeben wird, aber den tatsächlichen Lesevorgang nicht ausführen kann, schlägt die Überprüfung weiterhin fehl. Die gelesenen Bytes zeigen jedoch die . BNR-Muster, das ein E/A-Subsystemproblem angibt.

Wiederholen des Schreibvorgangs

Wenn das E/A-Subsystem auf eine Zurücksetzung (häufiger bei DIRECT-Attached Storage (DAS)-Installationen stößt, werden die Schreibvorgangsanforderungen möglicherweise falsch abgeschlossen. Das SQLIOSim-Hilfsprogramm garantiert keine Funktionen zum Wiederholen von Schreibvorgängen. In einigen Fällen versucht das SQLIOSim-Hilfsprogramm, die Daten zu lesen und zu überprüfen, die nicht geschrieben werden können.

Das SQLIOSim-Hilfsprogramm wird verbessert, um einen Schreibfehler zu protokollieren und dann einen Erneutschreibvorgang auszuführen.

Erweiterte Sperrung

Die internen Sperrmechanismen und die Seitenschutzaktivität (VirtualProtect) sind optimiert und verbessert, um sicherzustellen, dass ein vom SQLIOSim-Hilfsprogramm gemeldetes Problem nicht durch einen Logikfehler im SQLIOSim-Hilfsprogramm verursacht wird.

Wiederholungsversuche

Behebt ein Problem, das dazu führt, dass beim Wiederholen eines fehlgeschlagenen LDX-Lesevorgangs (Protokollsimulation) ein Fehler auftritt.

Beispiele für die erweiterten Ausgaben

Das erste Beispiel der erweiterten Ausgabe enthält die folgenden Verbesserungen:

  • UTC-Zeit
  • Hexadezimale und dezimale Dezimalzahl
  • Zeitstempel/Teilstrichanzahl
  • BNR
  • Seitenkopferweiterung

Screenshot der erweiterten Ausgabe, die UTC-Zeit, Hexadezimal- und Dezimalzahl, Zeitstempel/Teilstrichanzahl, BNR und Seitenkopferweiterung enthält.

Das zweite Beispiel der erweiterten Ausgabe enthält die folgenden Verbesserungen:

  • Ringpuffer
  • UTC-Zeit
  • Seitenbereichstrennung

Screenshot der erweiterten Ausgabe, die Ringpuffer, UTC-Zeit und Seitenbereichstrennung enthält.

Das dritte Beispiel der erweiterten Ausgabe enthält die folgenden Verbesserungen:

  • Teilanzahlspalte
  • Logische CPU-Spalte

Screenshot der erweiterten Ausgabe, die die Spalten für tick count und Logical CPU enthält.

Weitere Informationen

Diese Verbesserung ist im folgenden kumulativen Update für SQL Server enthalten:

Kumulatives Update 7 für SQL Server 2022

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsupdates, die sich im vorherigen Build befanden. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:

Neuestes kumulatives Update für SQL Server 2022

References

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.