USER_ID (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Retourne le numéro d'identification d'un utilisateur de la base de données.
Important
Cette fonctionnalité sera supprimée dans une version future de 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.
Conventions de la syntaxe Transact-SQL
Syntaxe
USER_ID ( [ 'user' ] )
Arguments
user
Nom d'utilisateur à utiliser. 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, l’utilisateur actuel est pris en compte. Si le paramètre contient le mot NULL, retourne NULL. Lorsque USER_ID est appelé après EXECUTE AS, USER_ID retourne l'ID du contexte représenté.
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 AdventureWorks2022
de Harold
.
USE AdventureWorks2022;
SELECT USER_ID('Harold');
GO
Voir aussi
USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Fonctions de sécurité (Transact-SQL)