Partager via


SUSER_SNAME (Transact-SQL)

Retourne le nom de connexion associé à un numéro d'identification de sécurité (SID).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

SUSER_SNAME ( [ server_user_sid ] ) 

Arguments

  • server_user_sid
    Correspond au numéro d'identification de sécurité de la connexion. server_user_sid, qui est facultatif, est varbinary(85). server_user_sid peut être le numéro d'identification de sécurité de n'importe quelle connexion SQL Server ou de n'importe quel utilisateur ou groupe Microsoft Windows. Si server_user_sid n'est pas spécifié, les informations sur l'utilisateur actuel sont retournées. Si le paramètre contient le mot NULL, retourne NULL.

Type des valeurs retournées

nvarchar(128)

Notes

La fonction SUSER_SNAME peut être utilisée comme une contrainte DEFAULT dans les fonctions ALTER TABLE ou 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 doit toujours être suivi de parenthèses, même si aucun paramètre n'est spécifié.

Lorsqu'il est appelé sans argument, SUSER_SNAME retourne le nom du contexte de sécurité actuel. 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é. 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.

Exemples

A.Utilisation de SUSER_SNAME

Cet exemple retourne le nom de connexion correspondant au numéro d'identification de sécurité portant la valeur 0x01.

SELECT SUSER_SNAME(0x01);
GO

B.Utilisation de SUSER_SNAME avec un ID de sécurité utilisateur Windows

Cet exemple retourne le nom de connexion associé à un numéro d'identification de sécurité Windows.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

C.Utilisation de SUSER_SNAME comme contrainte DEFAULT

Cet exemple utilise SUSER_SNAME en tant que contrainte DEFAULT dans une instruction CREATE TABLE.

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.Appel de SUSER_SNAME en combinaison avec 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é.

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

Voici le résultat.

sa

WanidaBenShoof

sa

Voir aussi

Référence

SUSER_SID (Transact-SQL)

sys.server_principals (Transact-SQL)

Concepts

Principaux (moteur de base de données)