ORIGINAL_LOGIN (Transact-SQL)
Renvoie le nom de la connexion qui s'est connectée à l'instance de SQL Server. Vous pouvez utiliser cette fonction pour renvoyer l'identité de la connexion d'origine dans les sessions où il y a un grand nombre de changements de contexte implicites ou explicites.
Conventions de la syntaxe Transact-SQL
Syntaxe
ORIGINAL_LOGIN( )
Types de retour
sysname
Notes
Cette fonction peut s'avérer utile pour auditer l'identité du contexte de connexion d'origine. ORIGINAL_LOGIN renvoie l'identité de la première connexion à l'instance de SQL Server dans la session, alors que les fonctions SESSION_USER et CURRENT_USER renvoient le contexte d'exécution actuel.
Exemple
L'exemple suivant change le contexte d'exécution de la session actuelle de l'appelant des instructions vers login1. Les fonctions SUSER_SNAME et ORIGINAL_LOGIN sont utilisées pour renvoyer l'utilisateur de la session actuelle (l'utilisateur vers lequel le contexte a été basculé) et le compte de connexion d'origine.
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