Udostępnij za pośrednictwem


ORIGINAL_LOGIN (Transact-SQL)

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

Topic link iconKonwencje składni języka Transact-SQL

ORIGINAL_LOGIN()

Zwracane typy

sysname

Remarks

Ta funkcja może być przydatne w przypadku inspekcji tożsamości oryginalnego kontekstu łączące.Stosowanie funkcji, takich jak SESSION_USER and CURRENT_USER zwraca bieżący kontekst wykonywania, ORIGINAL_LOGIN zwraca tożsamość logowania, który pierwszego połączenia z wystąpienie SQL Server w tej sesja.

Przykłady

W poniższym przykładzie przełącza kontekst wykonywania bieżącej sesja od rozmówcy instrukcji, aby login1. Funkcje SUSER_SNAME i ORIGINAL_LOGIN są używane do zwracania bieżącą sesja użytkownika (do których został przełączony kontekście użytkownika), a oryginalne konto logowania.

USE AdventureWorks;
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