Conditions préalables à la relecture

S’applique à :SQL ServerAzure SQL Managed Instance

Pour relire les données de trace avec SQL Server Profiler ou l’utilitaire Distributed Replay, vous devez capturer un ensemble spécifique de classes d’événements et de colonnes dans la trace. Ces paramètres sont activés par défaut si le modèle de trace TSQL_Replay est utilisé pour configurer une trace utilisée ultérieurement pour la relecture. Cette rubrique décrit ces paramètres et d’autres configurations préalables à la relecture.

Notes

Nous recommandons d'utiliser Distributed Replay Utility pour relire des applications OLTP exigeantes (avec de nombreuses connexions simultanées actives ou un débit élevé). Distributed Replay Utility peut relire les données de trace de plusieurs ordinateurs, en simulant mieux les charges de travail sensibles. Pour plus d'informations, consultez SQL Server Distributed Replay.

Classes d'événements nécessaires à la relecture

Pour être relus par SQL Server Profiler, les jeux de classes d’événements suivants doivent être capturés dans la trace, en plus de toutes les autres classes d’événements que vous souhaitez surveiller :

  • CursorClose** (** nécessaire uniquement pour la relecture de curseurs côté serveur)

  • CursorExecute (nécessaire uniquement pour la relecture de curseurs côté serveur)

  • CursorOpen (nécessaire uniquement pour la relecture de curseurs côté serveur)

  • CursorPrepare (nécessaire uniquement pour la relecture de curseurs côté serveur)

  • CursorUnprepare (nécessaire uniquement pour la relecture de curseurs côté serveur)

  • Audit Login

  • Audit Logout

  • ExistingConnection

  • RPC Output Parameter

  • RPC:Completed

  • RPC:Starting

  • Exec Prepared SQL (nécessaire uniquement pour la relecture d’instructions SQL préparées côté serveur)

  • Prepare SQL (nécessaire uniquement pour la relecture d’instructions SQL préparées côté serveur)

  • SQL:BatchCompleted

  • SQL:BatchStarting

Colonnes de données nécessaires à la relecture

En plus des autres colonnes de données que vous voudrez peut-être capturer, les colonnes de données suivantes doivent être capturées dans une trace pour permettre la relecture de la trace en question :

  • Classe d'événements

  • EventSequence

  • TextData

  • Nom d’application

  • LoginName

  • DatabaseName

  • ID de base de données

  • ClientProcessID

  • HostName

  • ServerName

  • Binary Data

  • SPID

  • Start Time

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Error

Notes

Utilisez le modèle de trace TSQL_Replay pour les traces qui capturent des données à des fins de relecture.

Autres conditions préalables à la relecture

Dans Microsoft SQL Server, la relecture vérifie la présence des événements et colonnes nécessaires. Cette nouveauté permet d'améliorer la précision de la relecture en supprimant tout travail de devinette dans la réparation des relectures qui échouent en raison de données manquantes. La relecture renvoie une erreur et s'arrête lorsque des données nécessaires sont manquantes dans une trace.

Pour relire une trace portant sur un serveur (cible) qui exécute SQL Server et qui n’est pas le serveur tracé au départ (source), vérifiez que les conditions suivantes sont réunies :

  • Tous les utilisateurs et connexions contenus dans la trace doivent déjà être créés sur la cible et dans la même base de données que la source.

  • Toutes les connexions d'accès et tous les utilisateurs contenus dans la cible doivent avoir les mêmes autorisations que dans la source.

  • Tous les mots de passe de connexion doivent être identiques à ceux de l'utilisateur qui exécute la relecture.

  • Les ID de base de données sur la cible doivent idéalement être identiques à ceux qui sont sur la source. Si ce n’est pas le cas, la mise en correspondance peut être effectuée sur la base du DatabaseName s’il est présent dans la trace.

  • La base de données par défaut de chaque connexion d'accès contenue dans la trace doit être définie (sur la cible) en tant que base de données cible relative à la connexion. Par exemple, la trace à relire contient les activités de la connexion Freddans la base de données Fred_Db située sur la source. Ainsi, sur la cible, la base de données par défaut de la connexion Freddoit être la base de données correspondant à Fred_Db (même si le nom de la base de données est différent). Pour définir la base de données par défaut de la connexion, utilisez la procédure stockée sp_defaultdb .

La relecture d'événements associés à des connexions manquantes ou incorrectes va entraîner des erreurs de relecture, mais l'opération de relecture va se poursuivre.

Pour savoir quelles autorisations sont nécessaires pour relire une trace, consultez Autorisations nécessaires pour exécuter SQL Server Profiler.

Voir aussi

Relire une table de trace (SQL Server Profiler)
Relire un fichier de trace (SQL Server Profiler)
Référence de classe d'événements SQL Server
sp_defaultdb (Transact-SQL)
SQL Server Distributed Replay