ORIGINAL_LOGIN (Transact-SQL)
Retorna o nome do logon que se conectou à instância do SQL Server. Você pode usar essa função para retornar a identidade do logon original em sessões nas quais há muitas alternâncias de contexto explícitas ou implícitas.
Convenções da sintaxe Transact-SQL
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 AdventureWorks2012;
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