Partager via


USER_ID (Transact-SQL)

Retourne le numéro d'identification d'un utilisateur de la base de données.

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft 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 DATABASE_PRINCIPAL_ID à la place.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

USER_ID ( [ 'user' ] )

Arguments

  • user
    Nom de l'utilisateur. user est de type nchar. Si une valeur char est spécifiée, elle est implicitement convertie en nchar. Les parenthèses sont obligatoires.

Types de retour

int

Notes

Si user est omis, c'est l'utilisateur actuel qui est pris en compte. S'il contient le mot NULL, la valeur NULL est retournée. Lorsque USER_ID est appelé après EXECUTE AS, il retourne l'identificateur du contexte ayant fait l'objet d'un emprunt d'identité.

Lorsqu'un principal Windows qui n'est pas mappé à un utilisateur spécifique accède à une base de données parce qu'il appartient à un groupe, USER_ID retourne 0 (l'identificateur de public). Si un tel principal crée un objet sans spécifier de schéma, SQL Server créera un utilisateur implicite et un schéma mappés au principal Windows. L'utilisateur ainsi créé ne peut pas être utilisé pour une connexion à la base de données. Les appels à USER_ID effectués par un principal Windows mappé à un utilisateur implicite retourneront l'identificateur de cet utilisateur implicite.

USER_ID peut être utilisé dans une liste de sélection, dans une clause WHERE, et partout où une expression est autorisée. Pour plus d'informations, consultez Expressions (Transact-SQL).

Exemples

Dans l'exemple suivant, la valeur retournée est le numéro d'identification de l'utilisateur Harold de AdventureWorks2008R2.

USE AdventureWorks2008R2;
SELECT USER_ID('Harold');
GO