Verbetering: breng verschillende verbeteringen aan in het SQLIOSim-hulpprogramma

Overzicht

Deze verbetering brengt de volgende verbeteringen aan in het SQLIOSim-hulpprogramma en lost problemen met gegevensintegriteit op die mogelijk worden veroorzaakt door I/O-afhandeling. Zie de inleiding van het SQLIOSim-hulpprogramma voor meer informatie over het SQLIOSim-hulpprogramma.

Verbeterde logboekregistratie

  • Hiermee wordt een nieuwe ringbuffer toegevoegd om fouten bij te houden, zodat het onwaarschijnlijk is dat fouten in de geschiedenisringbuffer worden vervangen vanwege de rollover.
  • Hiermee worden verschillende uitgangen toegevoegd die 'aantal tikken' en/of 'datum en tijd' bevatten om foutopsporing een probleem eenvoudiger te maken.
  • Hiermee worden de uitvoer van fsutil en volumegegevens toegevoegd aan het foutbestand om de bestandsoffset toe te wijzen aan de offset op de fysieke schijf en de I/O-subsysteemtraces eenvoudiger te filteren.
  • Hiermee wordt de uitvoer voor Coordinated Universal Time (UTC) en lokale tijd toegevoegd.
  • Hiermee wordt de uitvoer van de paginakoptekst opgesplitst in het foutbestand, zoals PageId, Checksum en Timestamp.
  • Hiermee wordt een lijst met de pagina's van de FILE HISTORY ringbuffer weergegeven, zodat u de ringbuffergegevens gemakkelijker kunt vinden.
  • Geeft tijdstempel weer, datum tijd, logische CPU en andere kolommen weer in de weergaveSqliosim.log.xml of ErrorLog.xslt .
  • Vergroot de grootte van de ringbuffers en vermindert de frequentie van de rollover.
  • Biedt hexadecimale en decimale resultaten voor algemene uitvoer zoals pagina-id, controlesom en tijdstempel.
  • Updates de indeling van Sqliosim.log.xml om het XML-bestand in een teksteditor beter leesbaar te maken.
  • Gevalideerde Sqliosim.log.xml en ErrorLog.xslt kunnen correct worden bekeken in Microsoft Edge die gebruikmaakt van de Internet Explorer-modus (IE).

Timestamp van paginakoptekst

Hiermee wordt de GetTickCount64 waarde in de paginakoptekst opgeslagen tijdens het schrijven. Het aantal tikken is nuttig om bij te houden wanneer de pagina wordt geschreven en om de I/O-subsysteemtraceringen te filteren.

BNR (Bytes-Niet-gelezen)

Het I/O-probleem zorgt ervoor dat de leesbewerking wordt geretourneerd alsof de leesbewerking is geslaagd, maar de werkelijke buffer niet wordt bijgewerkt of gelezen. Het SQLIOSim-hulpprogramma wordt met succes gelezen, maar slaagt niet voor de validatiecontroles.

Het SQLIOSim-hulpprogramma stempelt nu de leesbuffers met behulp van het BNR-patroon voordat een leesbewerking wordt uitgegeven. Als de leesbewerking met succes wordt geretourneerd, maar het uitvoeren van de daadwerkelijke leesbewerking mislukt, blijft de validatie mislukken. Het aantal gelezen bytes toont echter het . BNR-patroon dat wijst op een I/O-subsysteemprobleem.

Schrijven-opnieuw proberen

Als het I/O-subsysteem een reset tegenkomt (wat vaker voorkomt in DAS-installaties (Direct Attached Storage), worden de aanvragen voor schrijfbewerkingen mogelijk onjuist voltooid. Het SQLIOSim-hulpprogramma biedt geen garantie voor mogelijkheden voor schrijven. In sommige gevallen probeert het hulpprogramma SQLIOSim de gegevens die niet kunnen worden geschreven, te lezen en te valideren.

Het hulpprogramma SQLIOSim is verbeterd om een schrijffout te registreren en vervolgens een schrijfbewerking uit te voeren.

Verbeterde vergrendeling

De interne vergrendelingsmechanismen en paginabeveiligingsactiviteit (VirtualProtect) zijn geoptimaliseerd en verbeterd om ervoor te zorgen dat een probleem dat door het SQLIOSim-hulpprogramma wordt gemeld, niet wordt veroorzaakt door een logische fout in het SQLIOSim-hulpprogramma.

Lezen-opnieuw proberen

Hiermee wordt een probleem opgelost dat ertoe leidt dat de poging tot opnieuw lezen mislukt wanneer u een mislukte LDX-lezing (logboeksimulatie) opnieuw probeert uit te voeren.

Voorbeelden van de verbeterde uitvoer

Het eerste voorbeeld van de verbeterde uitvoer bevat de volgende verbeteringen:

  • UTC-tijd
  • Hexadecimaal en decimaal
  • Aantal tijdstempels/tikken
  • BNR
  • Uitbreiding van paginakoptekst

Schermopname van de verbeterde uitvoer met UTC-tijd, hexadecimaal en decimaal, aantal tijdstempels/tikken, BNR en uitbreiding van paginakoptekst.

Het tweede voorbeeld van de verbeterde uitvoer bevat de volgende verbeteringen:

  • Ringbuffer
  • UTC-tijd
  • Uitsplitsing van paginabereik

Schermopname van de verbeterde uitvoer met Ringbuffer, UTC-tijd en uitsplitsing paginabereik.

Het derde voorbeeld van de verbeterde uitvoer bevat de volgende verbeteringen:

  • Kolom met aantal tikken
  • Logische CPU-kolom

Schermopname van de verbeterde uitvoer met de kolommen voor aantal tikken en logische CPU.

Meer informatie

Deze verbetering is opgenomen in de volgende cumulatieve update voor SQL Server:

Cumulatieve update 7 voor SQL Server 2022

Informatie over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige build. We raden u aan de nieuwste build voor uw versie van SQL Server te installeren:

Meest recente cumulatieve update voor SQL Server 2022

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.