SUSER_SNAME (Transact-SQL)SUSER_SNAME (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure Synapse Analytics (SQL DW) ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Retourne le nom de connexion associé à un numéro d'identification de sécurité (SID).Returns the login name associated with a security identification number (SID).

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

SUSER_SNAME ( [ server_user_sid ] )   

ArgumentsArguments

server_user_sidserver_user_sid
S’applique à: SQL Server 2008SQL Server 2008 jusqu’à SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server

Correspond au numéro facultatif d'identification de sécurité de la connexion.Is the optional login security identification number. server_user_sid est de type varbinary(85) .server_user_sid is varbinary(85). server_user_sid peut être le numéro d’identification de sécurité de n’importe quelle connexion SQL ServerSQL Server ou de n’importe quel utilisateur ou groupe MicrosoftMicrosoft Windows.server_user_sid can be the security identification number of any SQL ServerSQL Server login or MicrosoftMicrosoft Windows user or group. Si server_user_sid n’est pas spécifié, les informations sur l’utilisateur actuel sont renvoyées.If server_user_sid is not specified, information about the current user is returned. Si le paramètre contient le mot NULL, retourne NULL.If the parameter contains the word NULL will return NULL.

Types de retourReturn Types

nvarchar(128)nvarchar(128)

NotesRemarks

La fonction SUSER_SNAME peut être utilisée comme une contrainte DEFAULT dans les fonctions ALTER TABLE ou CREATE TABLE.SUSER_SNAME can be used as a DEFAULT constraint in either ALTER TABLE or CREATE TABLE. SUSER_SNAME peut être utilisé dans une liste de sélection, dans une clause WHERE, et dans tous les cas où une expression est autorisée.SUSER_SNAME can be used in a select list, in a WHERE clause, and anywhere an expression is allowed. SUSER_SNAME doit toujours être suivi de parenthèses, même si aucun paramètre n'est spécifié.SUSER_SNAME must always be followed by parentheses, even if no parameter is specified.

Lorsqu'il est appelé sans argument, SUSER_SNAME retourne le nom du contexte de sécurité actuel.When called without an argument, SUSER_SNAME returns the name of the current security context. Lorsqu'il est appelé sans argument à l'intérieur d'un traitement qui a changé de contexte en utilisant EXECUTE AS, SUSER_SNAME retourne le nom du contexte qui a fait l'objet d'un emprunt d'identité.When called without an argument within a batch that has switched context by using EXECUTE AS, SUSER_SNAME returns the name of the impersonated context. Lorsqu'il est appelé à partir d'un contexte faisant l'objet d'un emprunt d'identité, ORIGINAL_LOGIN retourne le nom du contexte d'origine.When called from an impersonated context, ORIGINAL_LOGIN returns the name of the original context.

Notes concernant Azure SQL DatabaseAzure SQL DatabaseAzure SQL DatabaseAzure SQL Database Remarks

SUSER_NAME retourne toujours le nom de connexion pour le contexte de sécurité actuel.SUSER_NAME always return the login name for the current security context.

L'instruction SUSER_SNAME ne prend pas en charge l'exécution en utilisant un contexte de sécurité représenté par la clause EXECUTE AS.The SUSER_SNAME statement does not support execution using an impersonated security context through EXECUTE AS.

ExemplesExamples

A.A. Utilisation de SUSER_SNAMEUsing SUSER_SNAME

L'exemple suivant retourne le nom de connexion pour le contexte de sécurité actuel.The following example returns the login name for the current security context.

SELECT SUSER_SNAME();  
GO  

B.B. Utilisation de SUSER_SNAME avec un ID de sécurité utilisateur WindowsUsing SUSER_SNAME with a Windows user security ID

Cet exemple retourne le nom de connexion associé à un numéro d'identification de sécurité Windows.The following example returns the login name associated with a Windows security identification number.

S’applique à: SQL Server 2008SQL Server 2008 jusqu’à SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);  
GO  

C.C. Utilisation de SUSER_SNAME comme contrainte DEFAULTUsing SUSER_SNAME as a DEFAULT constraint

L'exemple suivant utilise SUSER_SNAME comme contrainte DEFAULT dans une instruction CREATE TABLE.The following example uses SUSER_SNAME as a DEFAULT constraint in a CREATE TABLE statement.

USE AdventureWorks2012;  
GO  
CREATE TABLE sname_example  
(  
login_sname sysname DEFAULT SUSER_SNAME(),  
employee_id uniqueidentifier DEFAULT NEWID(),  
login_date  datetime DEFAULT GETDATE()  
);   
GO  
INSERT sname_example DEFAULT VALUES;  
GO  

D.D. Appel de SUSER_SNAME en combinaison avec EXECUTE ASCalling SUSER_SNAME in combination with EXECUTE AS

Cet exemple montre le comportement de SUSER_SNAME lorsqu'il est appelé à partir d'un contexte ayant fait l'objet d'un emprunt d'identité.This example shows the behavior of SUSER_SNAME when called from an impersonated context.

S’applique à: SQL Server 2008SQL Server 2008 jusqu’à SQL ServerSQL ServerApplies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server

SELECT SUSER_SNAME();  
GO  
EXECUTE AS LOGIN = 'WanidaBenShoof';  
SELECT SUSER_SNAME();  
REVERT;  
GO  
SELECT SUSER_SNAME();  
GO  
  

Voici le résultat.Here is the result.

sa  
WanidaBenShoof  
sa

Exemples : Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) et Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) and Parallel Data WarehouseParallel Data Warehouse

E.E. Utilisation de SUSER_SNAMEUsing SUSER_SNAME

Cet exemple retourne le nom de connexion correspondant au numéro d'identification de sécurité portant la valeur 0x01.The following example returns the login name for the security identification number with a value of 0x01.

SELECT SUSER_SNAME(0x01);  
GO  

F.F. Renvoi de la connexion actuelleReturning the Current Login

L’exemple suivant renvoie le nom de connexion de la connexion actuelle.The following example returns the login name of the current login.

SELECT SUSER_SNAME() AS CurrentLogin;  
GO  

Voir aussiSee Also

SUSER_SID (Transact-SQL) SUSER_SID (Transact-SQL)
Principaux (moteur de base de données) Principals (Database Engine)
sys.server_principals (Transact-SQL) sys.server_principals (Transact-SQL)
EXECUTE AS (Transact-SQL)EXECUTE AS (Transact-SQL)