Comment récupérer le Nt login name d'un utilisateur connecté via une authentification Sql Server

14 réponses
Avatar
TedIF
Bonjour,

Comment peut-on en transact-SQL récupérer l'équivalent de ce qui est
affiché dans la colonne NTUserName d'une trace dans Sql Server Profiler
(version SQL 2008) ?

Merci d'avance pour votre aide.

--

Dominique

10 réponses

1 2
Avatar
zoltix
On 14 jan, 08:56, TedIF wrote:
Bonjour,

Comment peut-on en transact-SQL récupérer l'équivalent de ce qui es t
affiché dans la colonne NTUserName d'une trace dans Sql Server Profiler
(version SQL 2008) ?

Merci d'avance pour votre aide.

--

Dominique



select ORIGINAL_LOGIN()
Avatar
TedIF
Il se trouve que zoltix a formulé :
On 14 jan, 08:56, TedIF wrote:
Bonjour,

Comment peut-on en transact-SQL récupérer l'équivalent de ce qui est
affiché dans la colonne NTUserName d'une trace dans Sql Server Profiler
(version SQL 2008) ?

Merci d'avance pour votre aide.

--

Dominique



select ORIGINAL_LOGIN()



ORIGINAL_LOGIN() retourne le nom de la connexion originale.

Ce que je recherche c'est récupérer le NtUsername de l'utilisateur (que
je renseigne dans la ADOConnection.ConnectionString) car mon
application se connecte à SQL par une authentification Sql Server et
non pas par une authentification Windows.

Merci quand même.

--

Dominique
Avatar
Med Bouchenafa
SELECT SUSER_SNAME()

Bien cordialement
Med Bouchenafa

"TedIF" wrote in message
news:
Il se trouve que zoltix a formulé :
On 14 jan, 08:56, TedIF wrote:
Bonjour,

Comment peut-on en transact-SQL récupérer l'équivalent de ce qui est
affiché dans la colonne NTUserName d'une trace dans Sql Server Profiler
(version SQL 2008) ?

Merci d'avance pour votre aide.

--

Dominique



select ORIGINAL_LOGIN()



ORIGINAL_LOGIN() retourne le nom de la connexion originale.

Ce que je recherche c'est récupérer le NtUsername de l'utilisateur (que je
renseigne dans la ADOConnection.ConnectionString) car mon application se
connecte à SQL par une authentification Sql Server et non pas par une
authentification Windows.

Merci quand même.

--

Dominique




Avatar
TedIF
Le 05/02/2010, Med Bouchenafa a supposé :
SELECT SUSER_SNAME()

Bien cordialement
Med Bouchenafa




SUSER_SNAME() retourne dans mon cas la même chose que ORIGINAL_LOGIN(),
à savoir le nom de Connexion dans le cas d'une authentification SQL
Server. Or je tente de récupérer le "Windows LoginName" de
l'utilisateur qui est connecté à SQL via une authentifaction SQL
Server.

Merci bien.

Dominique

--

Dominique
Avatar
Med Bouchenafa
On ne peut etre connecté avec une authentication Windows et un compte SQL
Server
C'est l'un ou l'autre

SUSER_SNAME() renvoie le nom du compte Windows dans le cas d'une
authentication Windows
Et il renvoie le compte SQL Server dans le cas d'une authentication SQL
Server

A moins que je n'ai pas compris ta problematique

Bien cordialement
Med Bouchenafa

"TedIF" wrote in message
news:
Le 05/02/2010, Med Bouchenafa a supposé :
SELECT SUSER_SNAME()

Bien cordialement
Med Bouchenafa




SUSER_SNAME() retourne dans mon cas la même chose que ORIGINAL_LOGIN(), à
savoir le nom de Connexion dans le cas d'une authentification SQL Server.
Or je tente de récupérer le "Windows LoginName" de l'utilisateur qui est
connecté à SQL via une authentifaction SQL Server.

Merci bien.

Dominique

--

Dominique




Avatar
TedIF
Med Bouchenafa a couché sur son écran :
On ne peut etre connecté avec une authentication Windows et un compte SQL
Server
C'est l'un ou l'autre

SUSER_SNAME() renvoie le nom du compte Windows dans le cas d'une
authentication Windows
Et il renvoie le compte SQL Server dans le cas d'une authentication SQL
Server

A moins que je n'ai pas compris ta problematique

Bien cordialement
Med Bouchenafa




Oui je sais bien mais lorsqu'un utilisateur se connecte à un serveur
SQL avec authentification Sql server, il a ouvert avant une session
Windows sur sa machine avec son "login Windows" et un mot de passe. Ce
que je cherche à récupérer dans SQl Server, c'est son login Windows et
non pas son Login Sql.

Merci d'avance.

--

Dominique
Avatar
zoltix
On 9 fév, 19:05, TedIF wrote:
Med Bouchenafa a couch sur son cran :

> On ne peut etre connect avec une authentication Windows et un compte SQ L
> Server
> C'est l'un ou l'autre

> SUSER_SNAME() renvoie le nom du compte Windows dans le cas d'une
> authentication Windows
> Et il renvoie le compte SQL Server dans le cas d'une authentication SQL
> Server

> A moins que je n'ai pas compris ta problematique

> Bien cordialement
> Med Bouchenafa

Oui je sais bien mais lorsqu'un utilisateur se connecte un serveur
SQL avec authentification Sql server, il a ouvert avant une session
Windows sur sa machine avec son "login Windows" et un mot de passe. Ce
que je cherche r cup rer dans SQl Server, c'est son login Windows et
non pas son Login Sql.

Merci d'avance.

--

Dominique



Tu te connectes en Windows Authentication ou SQL SERVER
authentication.
Avatar
Fred
"TedIF" a écrit dans le message de groupe de discussion
:

Oui je sais bien mais lorsqu'un utilisateur se connecte à un serveur
SQL avec authentification Sql server, il a ouvert avant une session
Windows sur sa machine avec son "login Windows" et un mot de passe. Ce
que je cherche à récupérer dans SQl Server, c'est son login Windows et
non pas son Login Sql.



Ce n'est pas possible.
Une solution qui permettrait de donner cette information à SQL Server
serait d'utiliser un mot clé de la chaîne de connexion tel que
«Application Name» pour y stocker le login windows (et le récupérer avec
APP_NAME()). Mais attention à la sécurité.
Cet ajout peut aussi se faire avec SSMS dans les options de la boîte de
dialogue de connexion.

--
Fred

Avatar
Med Bouchenafa
SQL Server ne possede pas cette information
Par contre tu peux facilement faire un xp_cmdshell et recuperer les
variables d'environnement
USERDOMAIN et USERNAME

Bien cordialement
Med Bouchenafa

"TedIF" wrote in message
news:
Med Bouchenafa a couché sur son écran :
On ne peut etre connecté avec une authentication Windows et un compte SQL
Server
C'est l'un ou l'autre

SUSER_SNAME() renvoie le nom du compte Windows dans le cas d'une
authentication Windows
Et il renvoie le compte SQL Server dans le cas d'une authentication SQL
Server

A moins que je n'ai pas compris ta problematique

Bien cordialement
Med Bouchenafa




Oui je sais bien mais lorsqu'un utilisateur se connecte à un serveur SQL
avec authentification Sql server, il a ouvert avant une session Windows
sur sa machine avec son "login Windows" et un mot de passe. Ce que je
cherche à récupérer dans SQl Server, c'est son login Windows et non pas
son Login Sql.

Merci d'avance.

--

Dominique




Avatar
Fred
"Med Bouchenafa" a écrit dans le message de
groupe de discussion :


Bonjour,

SQL Server ne possede pas cette information
Par contre tu peux facilement faire un xp_cmdshell et recuperer les
variables d'environnement
USERDOMAIN et USERNAME



Je n'utilise pas xp_cmdshell car je doit garder du code compatible avec
la version Express, mais ne va-t-on pas ainsi récupérer le compte sous
lequel s'exécute le service Sql Server ?

--
Fred

1 2