Examiner les résultats de la relecture

S’applique à : SQL Server 2016 (13.x), SQL Server 2017 (14.x) et SQL Server 2019 (15.x)

Important

SQL Server Distributed Replay n’est pas disponible avec SQL Server 2022 (16.x).

Une fois que la caractéristique Microsoft SQL Server Distributed Replay a terminé une relecture distribuée, l'activité de relecture de chaque client peut être capturée et enregistrée dans des fichiers de trace de résultats sur chaque client. Pour capturer cette activité, vous devez utiliser le paramètre -o quand vous exécutez l’outil d’administration avec l’option replay . Pour plus d’informations sur l’option replay, consultez Option replay (outil d’administration Distributed Replay).

L'emplacement où sont stockés les fichiers de trace de résultats est spécifié par l'élément XML <ResultDirectory> dans le fichier de configuration client, DReplayClient.xml, situé sur chaque client. Les fichiers de trace dans le répertoire des résultats du client sont remplacés à chaque relecture.

Pour spécifier quel type de sortie doit être capturé dans les fichiers de trace de résultats, modifiez le fichier de configuration de la relecture, DReplay.exe.replay.config. Vous pouvez utiliser l'élément XML <OutputOptions> pour spécifier si le nombre de lignes ou le contenu du jeu de résultats doit être enregistré.

Pour plus d’informations sur ces paramètres de configuration, consultez Configurer Distributed Replay.

Classes d'événements capturées dans les fichiers de trace de résultats

Le tableau suivant répertorie toutes les classes d'événements capturées dans les données de trace de résultats.

Categorie Nom de la classe d'événements Fréquence de capture Point de capture
Événements pouvant être relus Audit Login Une fois pour chaque événement Audit Login dans les données de trace d'origine Après la réussite ou l'échec de l'événement
Audit Logout Une fois pour chaque événement Audit Logout dans les données de trace d'origine Après la réussite ou l'échec de l'événement
SQL:BatchCompleted Une fois pour chaque événement SQL:BatchStarting dans les données de trace d'origine Après la réussite ou l'échec de l'événement
RPC:Completed Une fois pour chaque événement RPC:Starting dans les données de trace d'origine Après la réussite ou l'échec de l'événement
Statistiques et résultats Replay Settings Event Une fois Premier événement de la trace de résultats
Replay Statistics Event Une fois Dernier événement de la trace de résultats.
Replay Result Set Event Une fois pour chaque événement SQL:BatchStarting et RPC:Starting.

Uniquement capturé si la valeur de l'option <RecordResultSet> dans le fichier de configuration de relecture est Yes.
Replay Result Row Event Une fois pour chaque ligne dans le jeu de résultats des événements SQL:BatchStarting et RPC:Starting.

Uniquement capturé si la valeur de l'option <RecordResultSet> dans le fichier de configuration de relecture est Yes.
Erreurs et avertissements Replay Internal Error Une fois pour chaque erreur interne En cas de condition d'erreur interne
Replay Provider Error Une fois pour chaque erreur de fournisseur En cas de condition d'erreur de fournisseur

Notez les points suivants :

  • Pour chaque événement relu avec succès sur le serveur cible, il existe une classe d'événement de sortie correspondante.

  • Pour chaque échec ou annulation d'événement, plusieurs erreurs peuvent être générées.

Mappage de colonne de la classe d'événements

La figure suivante répertorie les colonnes de trace de résultats disponibles pour chaque type de classe d'événements capturée lors de la relecture.

Event class column mapping

Descriptions des colonnes de la trace de résultats

Le tableau suivant décrit les colonnes des données de la trace de résultats.

Nom de la colonne de données Type de données Description ID de la colonne
EventClass nvarchar Nom de la classe d'événement. 1
EventSequence bigint Pour les erreurs de fournisseur, les erreurs internes et les avertissements, il s'agit de la séquence de l'événement de capture qui correspond à l'erreur ou à l'avertissement.

Pour toutes les autres classes d'événements, il s'agit de la séquence de l'événement dans les données de trace d'origine.
2
ReplaySequence bigint Pour les erreurs de fournisseur, les erreurs internes et les avertissements, il s'agit de la séquence de l'événement de relecture qui correspond à l'erreur ou à l'avertissement.

Pour toutes les autres classes d'événements, il s'agit de la séquence de l'événement affecté pendant la relecture.
3
TextData ntext Le contenu de TextData dépend de l'EventClass.

Pour Audit Login et ExistingConnection, il s'agit des options définies pour la connexion.

Pour SQL:BatchStarting, il s'agit du corps de la requête de lots.

Pour RPC:Starting, c'est la procédure stockée appelée.

Pour les événements de paramètres de relecture, cette colonne contient les paramètres définis dans le fichier de configuration de relecture.

Pour l'événement de statistiques de relecture, TexData contient les informations suivantes :

- SQL Server cible de la relecture

-nombre total d’événements pouvant être relus ;

-nombre d’erreurs de fournisseur ;

-nombre d’erreurs internes ;

-avertissements internes ;

-nombre total d’erreurs ;

-taux global de réussite ;

-heure de relecture (HH:MM:SS:MMM).

Pour l'événement de jeu de résultats de relecture, il affiche la liste des en-têtes de colonne de résultats retournés.

Pour l'événement de ligne de résultats de relecture, il affiche la valeur de retour de toutes les colonnes de cette ligne.

Pour l'avertissement interne de relecture et l'erreur de fournisseur de relecture, cette colonne contient les avertissements ou les erreurs de fournisseur.
4
Attention bigint Durée (en microsecondes) de l'avertissement pour l'événement. Elle est calculée à partir de l'événement d'avertissement de la trace de capture. Si aucun délai de requête n'a été spécifié pour l'événement, cette colonne n'est pas remplie (Null). 5
SubmitTime datetime Heure à laquelle l'événement a été soumis à SQL Server. 6
IsSuccessful int Indicateur booléen qui indique si un événement particulier a été exécuté avec succès et si les jeux de résultats ont été retournés au côté client.

Un événement qui génère un avertissement (comme lorsqu’un événement est annulé en raison d’un événement Attention ou d’un délai d’expiration spécifié par l’utilisateur) est considéré comme réussi.

IsSuccessful peut prendre l'une des valeurs suivantes :

1 = Réussi

0 = Échec
7
Durée [microsec] bigint Durée de temps de réponse (en microsecondes) pour l'événement. Le temps est mesuré à partir du moment où l'événement d'ouverture de session/de fermeture de session/RPC/Langage a été soumis à SQL Server.

Si l'événement réussit, la mesure se termine lorsque le jeu de résultats complet a été consommé.

Si l'événement ne réussit pas, la mesure se termine au moment de l'échec ou de l'annulation de l'événement.
8
RowCount bigint Rempli selon la valeur de <RecordRowCount> dans le fichier de configuration de relecture :

Si <RecordRowCount> est égal à Oui, cette cellule contient le nombre de lignes dans le jeu de résultats retournées par SQL Server.

Si <RecordRowCount> est égal à Non, cette cellule n'est pas remplie (Null).
9
CaptureSPID int ID de la session de capture de l'événement. 10
ConnectionID int ID de la connexion de capture de l'événement. 11
ReplaySPID int ID de la session de relecture de l'événement. 12
DatabaseName nvarchar Nom de la base de données dans laquelle l'instruction de l'utilisateur est exécutée. 13
LoginName nvarchar Nom de connexion de l'utilisateur. Il peut s'agir soit d'une connexion de sécurité SQL Server, soit des informations d'identification de connexion Microsoft Windows, au format nom_domaine\nom_utilisateur. 14
CaptureHostName nvarchar Nom de l'ordinateur sur lequel s'exécute le service client lors de la capture. 15
ReplayHostName nvarchar Nom de l'ordinateur sur lequel s'exécute le client lors de la relecture. 16
ApplicationName nvarchar Nom de l'application cliente qui a créé la connexion à SQL Server lors de la capture. 17

Voir aussi