USER_NAME (Transact-SQL)

Renvoie le nom d'utilisateur de base de données à partir du numéro d'identification spécifié.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

USER_NAME ( [ id ] )

Arguments

  • id
    Numéro d'identification associé à un utilisateur de base de données. id est de type int. Les parenthèses sont obligatoires.

Notes

Si id est omis, l'utilisateur actuel dans le contexte actuel est pris en compte. Lorsque USER_NAME est appelée sans spécifier un id après une instruction EXECUTE AS, USER_NAME renvoie le nom de l'utilisateur qui a emprunté l'identité. Si une entité de sécurité Windows accède à la base de données par l'intermédiaire de son appartenance à un groupe, USER_NAME renvoie le nom de l'entité de sécurité Windows à la place du groupe.

Type des valeurs renvoyées

nvarchar(128)

Exemples

A. Utilisation de USER_NAME

Le code exemple suivant renvoie le nom de l'utilisateur ayant l'ID 13.

SELECT USER_NAME(13);
GO

B. Utilisation de USER_NAME sans ID

Le code exemple suivant recherche le nom de l'utilisateur actuel sans spécifier un ID.

SELECT USER_NAME();
GO

Ensemble de résultats (pour un utilisateur membre du rôle de serveur fixe sysadmin) :

------------------------------ 
dbo                            

(1 row(s) affected)

C. Utilisation de USER_NAME dans la clause WHERE

Le code exemple suivant recherche dans sysusers la ligne dans laquelle le nom est égal au résultat de l'application de la fonction système USER_NAME à l'utilisateur identifié par le numéro 1.

SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO

Voici l'ensemble des résultats.

name                           
------------------------------ 
dbo                            

(1 row(s) affected)

D. Appel de USER_NAME pendant un emprunt d'identité avec EXECUTE AS

Le code exemple suivant illustre le comportement de USER_NAME pendant l'emprunt d'identité.

SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO

Voici l'ensemble des résultats.

DBO
Zelig
DBO

Voir aussi

Référence

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL)
Fonctions système (Transact-SQL)
SYSTEM_USER (Transact-SQL)

Autres ressources

Modification des propriétés d'une colonne

Aide et Informations

Assistance sur SQL Server 2005