SUSER_SNAME (Transact-SQL)

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

Icône Lien de rubriqueConventions de 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, 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. S'il contient le mot NULL, la valeur NULL est retournée.

Types de retour

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

L'exemple suivant utilise SUSER_SNAME comme contrainte DEFAULT dans une instruction CREATE TABLE.

USE AdventureWorks2008R2;
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