Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL 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.
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)