ORIGINAL_LOGIN (Transact-SQL)
Retorna o nome do logon que se conectou à instância do SQL Server. Essa função pode ser usada para retornar a identidade do logon original nas sessões em que há muitas alternâncias explícitas ou implícitas de contexto. Para obter mais informações sobre alternância de contexto, consulte Compreendendo alternância de contexto.
Sintaxe
ORIGINAL_LOGIN()
Tipos de retorno
sysname
Comentários
Essa função pode ser útil ao examinar a identidade do contexto de conexão original. Enquanto funções como SESSION_USER e CURRENT_USER retornam o contexto de execução atual, ORIGINAL_LOGIN retorna a identidade do logon conectado primeiro à instância do SQL Server na sessão em questão.
Exemplos
O exemplo a seguir alterna o contexto de execução da sessão atual do chamador das instruções para login1. As funções SUSER_SNAME e ORIGINAL_LOGIN são usadas para retornar o usuário da sessão atual (o usuário para quem o contexto foi alternado) e a conta de logon original.
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
Consulte também