Udostępnij za pośrednictwem


ORIGINAL_LOGIN (Transact-SQL)

Zwraca nazwę logowania, który podłączony do wystąpienie SQL Server.Ta funkcja służy do zwracania tożsamości oryginalnego identyfikatora logowania w sesjach, w których istnieje wiele przełączeń kontekstu jawny lub niejawny.Aby uzyskać więcej informacji na temat przełączania kontekstu, zobacz Opis przełączania kontekstu.

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

Składnia

ORIGINAL_LOGIN( )

Zwracane typy

sysname

Uwagi

Ta funkcja może być przydatne w przypadku inspekcji tożsamości pierwotnym kontekście łączące.Niezbędne funkcje takie jak SESSION_USER i CURRENT_USER zwrotu tożsamości logowania, który wcześniej podłączone do wystąpienie zwraca bieżący kontekst wykonywania ORIGINAL_LOGIN SQL Server w tej sesja.

Przykłady

Poniższy przykład przełącza kontekst wykonania bieżącej sesja od rozmówcy instrukcji, aby login1.Funkcje SUSER_SNAME i ORIGINAL_LOGIN są używane do zwracania bieżącego użytkownika sesja (użytkownika do którego został przełączony kontekście), a oryginalne konto logowania.

USE AdventureWorks2008R2;
GO
--Create a temporary login and user.
CREATE LOGIN login1 WITH PASSWORD = 'J345#$)thb';
CREATE USER user1 FOR LOGIN login1;
GO
--Execute a context switch to the temporary login account.
DECLARE @original_login sysname;
DECLARE @current_context sysname;
EXECUTE AS LOGIN = 'login1';
SET @original_login = ORIGINAL_LOGIN();
SET @current_context = SUSER_SNAME();
SELECT 'The current executing context is: '+ @current_context;
SELECT 'The original login in this session was: '+ @original_login
GO
-- Return to the original execution context
-- and remove the temporary principal.
REVERT;
GO
DROP LOGIN login1;
DROP USER user1;
GO