Je sais que SqlContext.WindowsIdentity renvoie l'utilisateur courant qui exécute la commande (dans un déclencheur CLR), cependant, cela ne fonctionne que pour les utilisateurs authentifiés de Windows. Comment puis-je obtenir le nom d'utilisateur si c'est un utilisateur de SQL Server à la place? Toute aide est appréciée.Comment obtenez-vous le nom d'utilisateur du serveur sql de la commande en cours d'exécution dans un déclencheur CLR?
3
A
Répondre
11
Essayez d'utiliser la fonction SUSER_NAME()
dans le serveur SQL. Cela retournera l'utilisateur actuel.
5
Essayez d'utiliser SYSTEM_USER.
SELECT SYSTEM_USER
0
Vous pouvez utiliser le contexte de la connexion en cours et obtenir tout ce dont vous avez besoin de l'objet de connexion.
Vous aimez cette (en C#):
SqlConnection connection = new SqlConnection("context connection=true");