Partager via


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. Pour plus d'informations sur le changement de contexte, consultez Description du basculement de contexte.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

ORIGINAL_LOGIN()

Types renvoyés

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 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