Je tire dans le vide mais peut-être que mes réflexions vous aideront à trouver votre réponse. D'après ce que je sais, il n'y a pas de moyen direct d'obtenir cela. Ce qui, à mon avis, est une bonne chose. Maintenant, quelques réflexions :
S'il s'agit d'une application personnalisée, vous pouvez inclure cette information dans la chaîne de connexion comme Nom de l'application peut-être. S'il s'agit d'une application serveur et que vous utilisez l'impersonation, vous perdrez la possibilité de regrouper les connexions si vous faites cela. Sur une application client, cela ne devrait pas poser de problème.
Vos clients n'ont-ils qu'un seul utilisateur connecté à un moment donné ? Par exemple, une application de bureau ? Vous pourriez utiliser WMI comme suit . S'il s'agit d'un serveur et que vous voulez savoir sous quel contexte de sécurité il fonctionne, vous pourrez peut-être obtenir cette information. Sinon, vous pouvez au moins déterminer qui a lancé le processus.
SQL Profiler connaît le PID du processus client. Mais je n'ai pas trouvé l'endroit où il est stocké dans SQL. Si vous pouvez trouver comment vous pouvez obtenir le PID (vous pourriez simplement exécuter une trace par programme et stocker l'événement de connexion dans une table). Vous pouvez obtenir l'utilisateur de lancement en utilisant cette script .