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.

Icône Lien de rubrique 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

Voir aussi

Référence

EXECUTE AS (Transact-SQL)

REVERT (Transact-SQL)