Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Azure 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
,SHOWPLAN
et l’autorisationVIEW 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 :
User1
, qui a l’autorisationALTER TRACE
, commence à relire une trace.Un événement de connexion pour
User2
est rencontré dans la trace rejouée.SQL Server Profiler utilise la commande
EXECUTE AS
pour emprunter l’identité deUser2
.SQL Server tente d’authentifier
User2
, et en fonction des résultats, l’une des opérations suivantes se produit :Si
User2
ne peut pas être authentifié, SQL Server Profiler retourne une erreur et continue de rejouer la trace en tant queUser1
.Si
User2
est correctement authentifié, la relecture de la trace dansUser2
continue.
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 :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 queUser2
.S’il
User2
n’a pas d’accès sur la base de données cible, le serveur recherche un utilisateurGuest
sur cette base de données.
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 :Si un
Guest
compte existe, la trace est rejouée en tant que compteGuest
.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 queUser1
.
Le schéma suivant illustre ce processus de vérification de l'autorisation lors de la relecture de traces :