USER_ID (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Returnerar identifieringsnumret för en databasanvändare.

Viktigt!

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd DATABASE_PRINCIPAL_ID istället.

Transact-SQL syntaxkonventioner

Syntax

USER_ID ( [ 'user' ] )  

Arguments

user
Är användarnamnet som ska användas. Användaren är NCar. Om ett char-värde anges konverteras det implicit till nchar. Parenteserna krävs.

Returtyper

int

Anmärkningar

När användaren utelämnas antas den nuvarande användaren. Om parametern innehåller ordet NULL kommer att returnera NULL. När USER_ID anropas efter EXECUTE AS kommer USER_ID att returnera ID:t för den imiterade kontexten.

När en Windows-princip som inte är mappad till en specifik databasanvändare får åtkomst till en databas genom medlemskap i en grupp, returnerar USER_ID 0 (ID:t för publik). Om en sådan principal skapar ett objekt utan att specificera ett schema, kommer SQL Server att skapa en implicit användare och ett schema som mappas till Windows-principalen. Användaren som skapats i sådana fall kan inte användas för att ansluta till databasen. Anrop till USER_ID av en Windows-princip mappad till en implicit användare kommer att returnera ID:t för den implicita användaren.

USER_ID kan användas i en urvalslista, i en WHERE-klausul och var som helst där ett uttryck är tillåtet. Mer information finns i Uttryck (Transact-SQL).

Examples

Följande exempel returnerar identifieringsnumret för användaren AdventureWorks2025Harold.

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

Se även

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Säkerhetsfunktioner (Transact-SQL)