Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric Preview
Retourne le nom de connexion associé à un numéro d'identification de sécurité (SID).
Conventions de la syntaxe Transact-SQL
Syntaxe
SUSER_SNAME ( [ server_user_sid ] )
Arguments
server_user_sid
Numéro facultatif d’identificateur de sécurité de la connexion.
server_user_sid est de type 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. Reportez-vous à la colonne sid dans des affichages catalogue sys.server_principals et sys.sql_logins. 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, SUSER_SNAME returne NULL.
server_user_sid n’est pas pris en charge sur Azure SQL Database ou sql Database dans Microsoft Fabric Preview.
Type de retour
nvarchar(128)
Remarques
SUSER_SNAME peut être utilisé comme contrainte dans l’une DEFAULT ou l’autre ALTER TABLE ou CREATE TABLE.
SUSER_SNAME peut être utilisé dans une liste de sélections, dans une WHERE clause et n’importe 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é.
En cas d’appel sans argument, SUSER_SNAME retourne le nom du contexte de sécurité actuel. En cas d’appel sans argument à l’intérieur d’un lot qui a changé de contexte en utilisant EXECUTE AS, SUSER_SNAME retourne le nom du contexte d’usurpateur d’identité. En cas d’appel à partir d’un contexte dont l’identité a été empruntée, ORIGINAL_LOGIN retourne le SID du contexte original.
Remarques pour Azure SQL Database, base de données SQL dans Fabric
SUSER_SNAME retourne toujours le nom de connexion pour le contexte de sécurité actuel.
L’instruction SUSER_SNAME ne prend pas en charge l’exécution à l’aide d’un contexte de sécurité emprunt d’identité via EXECUTE AS.
SUSER_SNAME ne prend pas en charge l’argument server_user_id.
Exemples
R. Utiliser SUSER_SNAME
L'exemple suivant retourne le nom de connexion pour le contexte de sécurité actuel.
SELECT SUSER_SNAME();
GO
B. Utiliser 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. Utiliser SUSER_SNAME comme contrainte DEFAULT
L’exemple suivant utilise SUSER_SNAME comme DEFAULT contrainte dans une CREATE TABLE instruction.
USE AdventureWorks2022;
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. Appeler SUSER_SNAME en combinaison avec EXECUTE AS
Cet exemple montre le comportement de SUSER_SNAME en cas d’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
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
E. Utiliser 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
F. Retourner la connexion actuelle
L’exemple suivant renvoie le nom de connexion de la connexion actuelle.
SELECT SUSER_SNAME() AS CurrentLogin;
GO