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
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací uživatelské jméno databáze z určeného identifikačního čísla nebo aktuální uživatelské jméno.
Syntaxe
USER_NAME ( [ ID ] )
Arguments
ID
Identifikační číslo přiřazené uživateli databáze, jak je uvedeno v sys.database_principals. ID je int. Závorky jsou povinné.
Návratové typy
nvarchar(128)
Poznámky
Když je ID vynecháno, předpokládá se aktuální uživatel v aktuálním kontextu. Pokud parametr obsahuje slovoNULL, USER_NAME vrátí .NULL Když USER_NAME je volán bez zadání ID po příkazu EXECUTE AS , vrátí jméno uživatele, USER_NAME za kterého se vydával. Pokud principal Windows přistupuje k databázi prostřednictvím členství ve skupině, USER_NAME vrací jméno principala Windows místo skupiny.
Ačkoli je tato USER_NAME() funkce podporována v Azure SQL Database, použití EXECUTE AS USER = USER_NAME(n) není podporováno v Azure SQL Database.
Examples
A. Použijte USER_NAME() k identifikaci uživatelského ID
Následující příklad vrací uživatelské jméno pro uživatelské ID 13, jak je uvedeno v sys.database_principals.
SELECT USER_NAME(13);
GO
B. Používejte USER_NAME bez dokladu totožnosti
Následující příklad najde jméno aktuálního uživatele bez zadání ID.
SELECT USER_NAME();
GO
Zde je sada výsledků pro uživatele, který je členem role pevného správce systému.
dbo
C. Použijte USER_NAME v klauzuli KDE
Následující příklad najde řádek v sys.database_principals, kde je název roven výsledku aplikace systémové funkce USER_NAME na uživatelské identifikační číslo 1.
SELECT name FROM sys.database_principals WHERE name = USER_NAME(1);
GO
Tady je soubor výsledků.
name
------------------------------
dbo
(1 row(s) affected)
D. Zavolejte USER_NAME během napodobování pomocí EXECUTE AS
Následující příklad ukazuje, jak USER_NAME se chová při napodobování.
EXECUTE AS v současnosti není na Microsoft Fabric podporován.
Upozornění
Při testování s EXECUTE AS, vždy napíšte skript a REVERT , aby následoval.
SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO
Tady je soubor výsledků.
-------------
dbo
-------------
Zelig
-------------
dbo
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
E. Používejte USER_NAME bez dokladu totožnosti
Následující příklad najde jméno aktuálního uživatele bez zadání ID.
SELECT USER_NAME();
Zde je sada výsledků pro aktuálně přihlášeného uživatele.
User7
F. Použijte USER_NAME v klauzuli KDE
Následující příklad najde řádek, ve sysusers kterém je jméno rovno výsledku aplikace systémové funkce USER_NAME na uživatelské identifikační číslo 1.
SELECT name FROM sysusers WHERE name = USER_NAME(1);
Tady je soubor výsledků.
name
------------------------------
User7
Související obsah
- SUSER_NAME (Transact-SQL)
- SUSER_SNAME (Transact-SQL)
- ZMĚNIT TABULKU (Transact-SQL)
- VYTVOŘIT TABULKU (Transact-SQL)
- CURRENT_TIMESTAMP (Transact-SQL)
- CURRENT_USER (Transact-SQL)
- SESSION_USER (Transact-SQL)
- Systémové funkce (Transact-SQL)
- SYSTEM_USER (Transact-SQL)
- sys.database_principals (Transact-SQL).