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
Het tweede voorbeeld van de verbeterde uitvoer bevat de volgende verbeteringen:
- Ringbuffer
- UTC-tijd
- Uitsplitsing van paginabereik
Het derde voorbeeld van de verbeterde uitvoer bevat de volgende verbeteringen:
- Maatstreepje tellen kolom
- Logische CPU-kolom
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.