Amélioration : apportez plusieurs améliorations à l’utilitaire SQLIOSim

Résumé

Cette amélioration apporte les améliorations suivantes à l’utilitaire SQLIOSim et résout les problèmes d’intégrité des données susceptibles d’être causés par la gestion des E/S. Pour plus d’informations sur l’utilitaire SQLIOSim, consultez l’introduction de l’utilitaire SQLIOSim.

Journalisation améliorée

  • Ajoute une nouvelle mémoire tampon en anneau pour suivre les erreurs, afin d'éviter que les erreurs dans la mémoire tampon en anneau d'historique ne soient remplacées en raison du débordement.
  • Ajoute différentes sorties qui contiennent le « compte de ticks » et/ou la « date et heure » afin de faciliter le débogage.
  • Ajoute les sorties et les informations de fsutil volume au fichier d’erreur, afin de mapper le décalage de fichier au décalage sur le disque physique et de filtrer plus facilement les traces du sous-système d’E/S.
  • Ajoute la sortie pour le temps universel coordonné (UTC) et l’heure locale.
  • Décompose la sortie de l’en-tête de page dans le fichier d’erreur, tel que PageId, Checksum et Timestamp.
  • Affiche une liste des pages de la FILE HISTORY mémoire tampon en anneau pour localiser plus facilement les entrées de mémoire tampon en anneau.
  • Affiche l'horodatage, la date et l'heure, le CPU logique et d'autres colonnes dans les vues Sqliosim.log.xml ou ErrorLog.xslt.
  • Augmente la taille des mémoires tampons en anneau et réduit la fréquence de la substitution.
  • Fournit des sorties hexadécimales et décimales pour les sorties courantes telles que PageId, Checksum et Timestamp.
  • Met à jour la disposition de Sqliosim.log.xml pour faciliter la lecture du fichier XML dans un éditeur de texte.
  • Les Sqliosim.log.xml validés et ErrorLog.xslt peuvent être affichés correctement en mode Microsoft Edge qui utilise Internet Explorer (IE).

Horodatage d’en-tête de page

Stocke la GetTickCount64 valeur dans l’en-tête de page pendant les opérations d’écriture. Le compteur de ticks est utile pour savoir quand la page est écrite et pour le filtrage des traces des sous-systèmes d’E/S.

BNR (octets non lus)

Le problème d’E/S fait que l’opération de lecture est considérée comme réussie, alors que la mémoire tampon actuelle n’est ni mise à jour ni lue. L’utilitaire SQLIOSim reçoit une lecture réussie, mais échoue les vérifications de validation.

L’utilitaire SQLIOSim marque désormais les mémoires tampons de lecture à l’aide du modèle BNR avant d’émettre une lecture. Lorsque l’opération de lecture retourne correctement, mais ne parvient pas à effectuer la lecture réelle, la validation continue d’échouer. Toutefois, les octets lus affichent le modèle .BNR qui indique un problème de sous-système d’E/S.

Nouvelle tentative d’écriture

Si le sous-système d’E/S rencontre une réinitialisation (plus courante dans les installations de stockage directement attachés), les demandes d’opération d’écriture peuvent se terminer de manière incorrecte. L’utilitaire SQLIOSim ne garantit pas les fonctionnalités de nouvelle tentative d’écriture. Dans certains cas, l’utilitaire SQLIOSim tente de lire et de valider les données qui ne parvient pas à écrire.

L’utilitaire SQLIOSim est amélioré pour consigner un échec d’écriture, puis effectuer une opération de nouvelle tentative d’écriture.

Verrouillage amélioré

Les mécanismes de verrouillage interne et l’activité de protection des pages (VirtualProtect) sont optimisés et améliorés pour s’assurer qu’un problème signalé par l’utilitaire SQLIOSim n’est pas dû à une faille logique dans l’utilitaire SQLIOSim.

Nouvelle tentative de lecture

Résout un problème qui provoque l’échec de la tentative de relecture lors de la relecture d’une opération LDX (simulation de journal) échouée.

Exemples de sorties améliorées

Le premier exemple de la sortie améliorée comprend les améliorations suivantes :

  • Heure UTC
  • Hexadécimal et décimal
  • Timestamp/compte de ticks
  • BNR
  • Extension de l’en-tête de page

Capture d’écran de la sortie améliorée, qui inclut l’heure UTC, hexadécimale et décimale, timestamp/tick count, BNR et l’expansion de l’en-tête page.

Le deuxième exemple de sortie améliorée comprend les améliorations suivantes :

  • Mémoire tampon en anneau
  • Heure UTC
  • Séparation de plage de pages

Capture d’écran de la sortie améliorée, qui inclut le tampon circulaire, l’heure UTC et le découpage de plage de pages.

Le troisième exemple de la sortie améliorée comprend les améliorations suivantes :

  • Colonne de compteur de graduations
  • Colonne CPU logique

Capture d’écran de la sortie améliorée, qui inclut les colonnes pour le compteur de ticks et le CPU logique.

Plus d’informations

Cette amélioration est incluse dans la mise à jour cumulative suivante pour SQL Server :

Mise à jour cumulative 7 pour SQL Server 2022

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité qui se trouvaient dans la build précédente. Nous vous recommandons d’installer la dernière build pour votre version de SQL Server :

Dernière mise à jour cumulative pour SQL Server 2022

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.