Partager via


Autorisations requises pour exécuter SQL Server Profiler

S'applique à :SQL ServerAzure SQL Managed Instance

Par défaut, l’exécution de SQL Server Profiler nécessite les mêmes autorisations utilisateur que les procédures stockées Transact-SQL utilisées pour créer des traces. Pour exécuter SQL Server Profiler, les utilisateurs doivent disposer de l’autorisation ALTER TRACE . Pour plus d’informations, consultez GRANT Server Permissions.

Notes

Trace SQL et SQL Server Profiler sont dépréciés. L’espace Microsoft.SqlServer.Management.Trace de noms qui contient les objets Trace et Replay de Microsoft SQL Server est également obsolète.

Cette fonctionnalité sera supprimée dans une version future de 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é.

Utilisez plutôt des événements étendus. Pour plus d’informations sur la vue d’ensemble des événements étendus, consultez Démarrage rapide : Événements étendus et utilisation de SSMS XEvent Profiler.

Remarques

  • 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 de gestion dynamique (DMV), les fonctions de gestion dynamique (DDF) et les événements étendus peuvent contenir des informations sensibles. Par conséquent, les autorisations ALTER TRACE, SHOWPLANet l’autorisation VIEW SERVER STATE de couverture doivent être accordées aux seuls utilisateurs qui ont besoin de ces autorisations pour remplir leurs fonctions de travail, en fonction du principe du privilège minimum.

    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.

  • Les charges de travail SQL Server Profiler pour Analysis Services sont prises en charge.

  • Lorsque vous essayez de vous connecter à une base de données Azure SQL à partir de SQL Server Profiler, il lève incorrectement un message d’erreur trompeur :

    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.
    

    Le message doit indiquer qu’Azure SQL Database n’est pas pris en charge par SQL Server Profiler.

Autorisations utilisées pour relire les traces

La relecture des traces nécessite également que l’utilisateur qui relecture la trace dispose de l’autorisation ALTER TRACE .

Toutefois, lors de la relecture, SQL Server Profiler utilise la EXECUTE AS commande si un événement Audit Login est rencontré dans la trace en cours de relecture. SQL Server Profiler utilise la EXECUTE AS commande pour emprunter l’identité de l’utilisateur associé à l’événement de connexion.

Si SQL Server Profiler rencontre un événement de connexion dans la trace en cours de relecture, les contrôles des autorisations suivants sont effectués :

  1. User1, qui a l’autorisation ALTER TRACE , commence à relire une trace.

  2. Un événement de connexion pour User2 est rencontré dans la trace rejouée.

  3. SQL Server Profiler utilise la commande EXECUTE AS pour emprunter l’identité de User2.

  4. SQL Server tente d’authentifier User2, et en fonction des résultats, l’une des opérations suivantes se produit :

    1. Si User2 ne peut pas être authentifié, SQL Server Profiler retourne une erreur et continue de rejouer la trace en tant que User1.

    2. Si User2 est correctement authentifié, la relecture de la trace dans User2 continue.

  5. Les autorisations pour User2 sont vérifiées sur la base de données cible ; et, en fonction des résultats, l’un des scénarios suivants se produit :

    1. Si User2 dispose d’autorisations sur la base de données cible, l’emprunt d’identité a réussi et la trace est reproduite en tant que User2.

    2. S’il User2 n’a pas d’accès sur la base de données cible, le serveur recherche un utilisateur Guest sur cette base de données.

  6. L’existence d’un Guest utilisateur est vérifiée sur la base de données cible et, selon les résultats, l’une des opérations suivantes se produit :

    1. Si un Guest compte existe, la trace est rejouée en tant que compte Guest.

    2. Si aucun compte n’existe Guest sur la base de données cible, une erreur est retournée et la trace est relue en tant que User1.

Le schéma suivant illustre ce processus de vérification de l'autorisation lors de la relecture de traces :

Capture d’écran des autorisations de trace de relecture de SQL Server Profiler.