Delen via


Verbetering: Verschillende verbeteringen aanbrengen in het SQLIOSim-hulpprogramma

Samenvatting

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

Verbeterde logboekregistratie

  • Voegt een nieuwe ringbuffer toe om fouten bij te houden, zodat het onwaarschijnlijk is dat fouten in de geschiedenisringbuffer worden vervangen vanwege de rollover.
  • Voegt verschillende uitvoer toe die 'aantal tikken' en/of 'datum en tijd' bevatten om het opsporen van fouten in een probleem gemakkelijker te maken.
  • Voegt de uitvoer van fsutil en volumegegevens toe aan het foutbestand, om de bestandsverschuiving toe te wijzen aan de offset op de fysieke schijf en de I/O-subsysteemtraceringen gemakkelijker te filteren.
  • Hiermee voegt u de uitvoer voor Coordinated Universal Time (UTC) en lokale tijd toe.
  • De uitvoer van de paginakoptekst wordt opgesplitst in het foutenbestand, zoals PageId, Checksum en Timestamp.
  • Geeft een lijst weer van de pagina's van de FILE HISTORY ringbuffer om gemakkelijker ringbuffervermeldingen te vinden.
  • Geeft tijdstempel, datum/tijd, logische CPU en andere kolommen weer in de weergave Sqliosim.log.xml of ErrorLog.xslt .
  • Verhoogt de grootte van de ringbuffers en vermindert de frequentie van de rollover.
  • Biedt hexadecimale en decimale uitvoer voor algemene uitvoer, zoals PageId, Checksum en Timestamp.
  • Hiermee wordt de indeling van Sqliosim.log.xml bijgewerkt om het XML-bestand gemakkelijker te lezen in een teksteditor.
  • Gevalideerde Sqliosim.log.xml en ErrorLog.xslt kunnen correct worden weergegeven in Microsoft Edge die gebruikmaakt van de IE-modus (Internet Explorer).

Tijdstempel van paginakoptekst

Slaat de GetTickCount64 waarde op in de paginakoptekst tijdens de schrijfbewerkingen. Het aantal tikken is handig voor het bijhouden wanneer de pagina wordt geschreven en de I/O-subsysteemtraceringen worden gefilterd.

BNR (Bytes-Not-Read)

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 HULPPROGRAMMA SQLIOSim ontvangt een geslaagde leesbewerking, maar mislukt de validatiecontroles.

Het hulpprogramma SQLIOSim stempelt nu de leesbuffers met behulp van het BNR-patroon voordat een leesbewerking wordt uitgevoerd. Wanneer de leesbewerking met succes wordt geretourneerd, maar de werkelijke leesbewerking niet kan worden uitgevoerd, blijft de validatie mislukken. De gelezen bytes toont echter de . BNR-patroon dat een I/O-subsysteemprobleem aangeeft.

Opnieuw schrijven

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

Het hulpprogramma SQLIOSim is verbeterd om een schrijffout te registreren en vervolgens een bewerking voor het opnieuw proberen van schrijven 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 HULPPROGRAMMA SQLIOSim wordt gerapporteerd, niet wordt veroorzaakt door een logische fout in het SQLIOSim-hulpprogramma.

Opnieuw proberen

Lost een probleem op dat ervoor zorgt dat de poging om het lezen opnieuw te proberen mislukt bij het opnieuw proberen van een mislukte LDX-leesbewerking (logboeksimulatie).

Voorbeelden van de verbeterde uitvoer

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

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

Schermopname van de verbeterde uitvoer, waaronder UTC Time, Hexadecimale en decimale, Timestamp/Tick count, BNR en Page header expansion.

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

  • Ringbuffer
  • UTC-tijd
  • Uitsplitsing van paginabereik

Schermopname van de verbeterde uitvoer, waaronder ringbuffer, UTC-tijd en aparte paginabereiken.

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

  • Maatstreepje tellen kolom
  • Logische CPU-kolom

Schermopname van de verbeterde uitvoer, die de kolommen bevat voor tick count en logical CPU.

Meer informatie

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

Cumulatieve update 7 voor SQL Server 2022

Over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingsoplossingen die zich in de vorige build bevonden. U wordt aangeraden de nieuwste build voor uw versie van SQL Server te installeren:

Meest recente cumulatieve update voor SQL Server 2022

Verwijzingen

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