Exportar (0) Imprimir
Expandir todo

ORIGINAL_LOGIN (Transact-SQL)

Devuelve el nombre del inicio de sesión que se conectó a la instancia de SQL Server. Puede utilizar esta función para devolver la identidad del inicio de sesión original en sesiones en las que hay varios cambios de contexto explícitos o implícitos. Para obtener más información sobre el cambio de contexto, vea Descripción del cambio de contexto.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


ORIGINAL_LOGIN( )

Esta función puede resultar útil para la auditoría de la identidad del contexto de conexión original. Mientras que funciones como SESSION_USER y CURRENT_USER devuelven el contexto de ejecución actual, ORIGINAL_LOGIN devuelve la identidad del inicio de sesión que se conectó en primer lugar a la instancia de SQL Server en esa sesión.

El ejemplo siguiente cambia el contexto de ejecución de la sesión actual desde el solicitante de las instrucciones para login1. Las funciones SUSER_SNAME y ORIGINAL_LOGIN se utilizan para devolver el usuario de la sesión actual (el usuario al que se cambió el contexto), y la cuenta de inicio de sesión original.

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft