Autorisations nécessaires pour exécuter SQL Server ProfilerPermissions Required to Run SQL Server Profiler

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions)

Par défaut, l'exécution du SQL Server ProfilerSQL Server Profiler exige les mêmes autorisations utilisateur que les procédures stockées Transact-SQL utilisées pour créer des traces.By default, running SQL Server ProfilerSQL Server Profiler requires the same user permissions as the Transact-SQL stored procedures that are used to create traces. Pour exécuter le SQL Server ProfilerSQL Server Profiler, les utilisateurs doivent disposer de l'autorisation ALTER TRACE.To run SQL Server ProfilerSQL Server Profiler, users must be granted the ALTER TRACE permission. Pour plus d’informations, consultez Autorisations de serveur GRANT (Transact-SQL).For more information, see GRANT Server Permissions (Transact-SQL).

Important

Les plans de requête et le texte de requête, capturés par Trace SQL ainsi que par d’autres moyens, par exemple, les vues et les fonctions de gestion dynamique (DMV, DMF), les événements étendus, peuvent contenir des informations sensibles.Query Plans and Query Text, captured by SQL Trace as well as by other means, for example, Dynamic Management Views and Functions (DMVs, DMFs), Extended Events, can contain sensitive information. Par conséquent, les autorisations ALTER TRACE, SHOWPLAN et VIEW SERVER STATE des autorisations de couverture doivent être accordées uniquement aux personnes qui en ont besoin pour accomplir leurs fonctions de travail, selon le principe du moindre privilège.Therefore, the permissions ALTER TRACE, SHOWPLAN, and the covering permission VIEW SERVER STATE should be granted to only those who need these to fulfill their job functions, based on the principle of least privilege.

Il est également recommandé d'enregistrer les fichiers Showplan ou de trace qui contiennent des événements Showplan uniquement sur un emplacement qui utilise le système de fichiers NTFS et de limiter l'accès aux utilisateurs qui sont autorisés à afficher potentiellement les informations critiques.Additionally, we recommend that you only save Showplan files or trace files that contain Showplan-related events to a location that uses the NTFS file system and restrict access to users who are authorized to view potentially sensitive information.

Important

Trace SQL et SQL Server ProfilerSQL Server Profiler sont dépréciés.SQL Trace and SQL Server ProfilerSQL Server Profiler are deprecated. L’espace de noms Microsoft.SqlServer.Management.Trace qui contient les objets Trace et Replay Microsoft SQL Server est également déconseillé.The Microsoft.SqlServer.Management.Trace namespace that contains the Microsoft SQL Server Trace and Replay objects are also deprecated.

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Utilisez plutôt des événements étendus.Use Extended Events instead. Pour plus d’informations sur les événements étendus, consultez Démarrage rapide : Événements étendus dans SQL Server et SSMS XEvent Profiler.For more information on Extended Events, see Quick Start: Extended events in SQL Server and SSMS XEvent Profiler.

Notes

Les charges de travail SQL Server ProfilerSQL Server Profiler pour Analysis Services sont prises en charge.SQL Server ProfilerSQL Server Profiler for Analysis Services workloads are supported.

Notes

Quand vous tentez de vous connecter à Azure SQL Database à partir du profileur SQL Server, un message d’erreur trompeur est envoyé de façon incorrecte, comme suit :When you try to connect to a Azure SQL Database from SQL server profiler, it incorrectly throws a misleading error message as follows:

  • Pour exécuter une trace sur SQL Server, vous devez être membre du rôle serveur fixe sysadmin ou bénéficier de l’autorisation ALTER TRACE.In order to run a trace against SQL Server, you must be a member of sysadmin fixed server role or have the ALTER TRACE permission.

Ce message devrait expliquer que Azure SQL Database n’est pas pris en charge par le profileur SQL Server.The message should have explained that Azure SQL Database is not supported by SQL Server profiler.

Autorisations utilisées pour relire des tracesPermissions Used to Replay Traces

La relecture de traces exige également que l'utilisateur qui effectue cette opération dispose de l'autorisation ALTER TRACE.Replaying traces also requires that the user who is replaying the trace have the ALTER TRACE permission.

Cependant, lors de la relecture, SQL Server ProfilerSQL Server Profiler utilise la commande EXECUTE AS si un événement Audit Login est rencontré dans la trace en cours de relecture.However, during replay, SQL Server ProfilerSQL Server Profiler uses the EXECUTE AS command if an Audit Login event is encountered in the trace that is being replayed. SQL Server ProfilerSQL Server Profiler utilise la commande EXECUTE AS pour emprunter l’identité de l’utilisateur associé à l’événement de connexion.uses the EXECUTE AS command to impersonate the user who is associated with the login event.

Si SQL Server ProfilerSQL Server Profiler rencontre un événement de connexion dans la trace en cours de relecture, les contrôles des autorisations suivants sont effectués :If SQL Server ProfilerSQL Server Profiler encounters a login event in a trace that is being replayed, the following permission checks are performed:

  1. Utilisateur1, qui dispose de l'autorisation ALTER TRACE, lance la relecture d'une trace.User1, who has the ALTER TRACE permission, starts replaying a trace.

  2. Un événement de connexion pour Utilisateur2 est rencontré dans la trace relue.A login event for User2 is encountered in the replayed trace.

  3. SQL Server ProfilerSQL Server Profiler utilise la commande EXECUTE AS pour emprunter l’identité de l’Utilisateur2.uses the EXECUTE AS command to impersonate User2.

  4. SQL ServerSQL Server tente d’authentifier l’Utilisateur2, et selon les résultats, une des actions suivantes se produit :attempts to authenticate User2, and depending on the results, one of the following occurs:

    1. Si l'Utilisateur2 ne peut pas être authentifié, le SQL Server ProfilerSQL Server Profiler retourne une erreur et poursuit la relecture de la trace en tant qu'Utilisateur1.If User2 cannot be authenticated, SQL Server ProfilerSQL Server Profiler returns an error, and continues replaying the trace as User1.

    2. Si l'Utilisateur2 est correctement authentifié, la relecture de la trace en tant qu'Utilisateur2 se poursuit.If User2 is successfully authenticated, replaying the trace as User2 continues.

  5. Les autorisations de l'Utilisateur2 sont vérifiées sur la base de données cible et selon les résultats, une des actions suivantes se produit :Permissions for User2 are checked on the target database, and depending on the results, one of the following occurs:

    1. Si l'Utilisateur2 dispose d'autorisations sur la base de données cible, l'emprunt d'identité a réussi et la trace est relue en tant qu'Utilisateur2.If User2 has permissions on the target database, impersonation has succeeded, and the trace is replayed as User2.

    2. Si l'Utilisateur2 ne dispose pas d'autorisations sur la base de données cible, le serveur recherche un utilisateur Invité sur cette base de données.If User2 does not have permissions on the target database, the server checks for a Guest user on that database.

  6. Une vérification de l'existence d'un utilisateur Invité s'effectue sur la base de données et selon les résultats, une des actions suivantes se produit :Existence of a Guest user is checked on the target database, and depending on the results, one of the following occurs:

    1. S'il existe un compte Invité, la trace est relue en tant que compte Invité.If a Guest account exists, the trace is replayed as the Guest account.

    2. Si aucun compte Invité n'existe sur la base de données cible, une erreur est retournée et la trace est relue en tant qu'Utilisateur1.If no Guest account exists on the target database, an error is returned and the trace is replayed as User1.

Le schéma suivant illustre ce processus de vérification de l'autorisation lors de la relecture de traces :The following diagram shows this process of checking permission when replaying traces:

Autorisations de trace de relecture de SQL Server Profiler.

Voir aussiSee Also