Sdílet prostřednictvím


USER_ID (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací identifikační číslo uživatele databáze.

Důležité

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Použijte DATABASE_PRINCIPAL_ID místo toho.

Transact-SQL konvence syntaxe

Syntaxe

USER_ID ( [ 'user' ] )  

Arguments

user
Je uživatelské jméno, které se má použít. Uživatel je NCHAR. Pokud je určena hodnota char , je implicitně převedena na nchar. Jsou vyžadovány závorky.

Návratové typy

int

Poznámky

Když je uživatel vynechán, předpokládá se, že je aktuální uživatel. Pokud parametr obsahuje slovo NULL, vrátí NULL. Když je USER_ID volán po EXECUTE AS, USER_ID vrátí ID impersonovaného kontextu.

Když uživatel Windows principal, který není přiřazen ke konkrétní databázi, přistupuje k databázi prostřednictvím členství ve skupině, USER_ID vrátí 0 (ID veřejné). Pokud takový princip vytvoří objekt bez specifikace schématu, SQL Server vytvoří implicitního uživatele a schéma namapované na princip Windows. Uživatel vytvořený v takových případech nelze použít k připojení k databázi. Volání USER_ID od Windows principa namapovaného na implicitního uživatele vrátí ID implicitního uživatele.

USER_ID lze použít v seznamu výběrů, v klauzuli WHERE a kdekoliv, kde je výraz povolen. Další informace naleznete v tématu Výrazy (Transact-SQL).

Examples

Následující příklad vrací identifikační číslo uživatele AdventureWorks2025Harold.

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

Viz také

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Funkce zabezpečení (Transact-SQL)