Udostępnij za pośrednictwem


Nazwa_użytkownika (Transact-SQL)

Zwraca numer identyfikacyjny określony nazwę użytkownika bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

USER_NAME ( [ id ] )

Argumenty

  • id
    Numer identyfikacyjny jest skojarzony z użytkowników bazy danych.idis int.Nawiasy są wymagane.

Zwracane typy

nvarchar(256)

Uwagi

Gdy id jest pominięta, zakłada bieżącego użytkownika w bieżącym kontekście.Gdy nazwa_użytkownika jest wywoływana bez określania id po EXECUTE jak instrukcjanazwa_użytkownika zwraca nazwę personifikowanych użytkowników.Jeżeli główna Windows uzyskuje dostęp do bazy danych z członkostwa w grupie, nazwa_użytkownika zwraca nazwę systemu Windows głównych zamiast grupy.

Przykłady

A.Za pomocą nazwa_użytkownika

Poniższy przykład zwraca nazwę użytkownika dla Identyfikatora użytkownika 13.

SELECT USER_NAME(13);
GO

B.Za pomocą nazwa_użytkownika bez identyfikator

Następujący przykład wyszukuje nazwę bieżącego użytkownika bez określania identyfikatora.

SELECT USER_NAME();
GO

W tym miejscu jest zestaw wyników dla użytkownika, który jest elementem element członkowski sysadmin stała rola serwera.

------------------------------

dbo

(1 row(s) affected)

C.Za pomocą nazwa_użytkownika w klauzulaWHERE

Następujący przykład wyszukuje wiersza w sysusers w którym nazwa jest równa wynik zastosowania systemu funkcja USER_NAME numer identyfikacyjny użytkownika 1.

SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO

Oto zestaw wyników.

name

------------------------------

dbo

(1 row(s) affected)

D.Wywoływanie nazwa_użytkownika podczas personifikacji z EXECUTE

W poniższym przykładzie jak USER_NAME zachowuje się podczas personifikacji.

SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO

Oto zestaw wyników.

DBO

Zelig

DBO