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.
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.
Type des valeurs renvoyées
int
Notes
Si user est omis, c'est l'utilisateur actuel qui est pris en compte. Lorsque USER_ID est appelé après EXECUTE AS, il retourne l'identificateur du contexte représenté.
Lorsqu'une entité de sécurité Windows qui n'est pas mappée à un utilisateur spécifique accède à une base de données parce qu'elle appartient à un groupe, USER_ID retourne 0 (l'identificateur de public). Si une telle entité de sécurité crée un objet sans spécifier de schéma, SQL Server créera un utilisateur implicite et un schéma mappés à l'entité de sécurité 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 une entité de sécurité Windows mappée à 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).
Exemple
Dans l'exemple suivant, la valeur retournée est le numéro d'identification de l'utilisateur Harold de AdventureWorks.
USE AdventureWorks;
SELECT USER_ID('Harold');
GO