SUSER_SNAME (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
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 ] )
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
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.
Type de retour
nvarchar(128)
Remarques
SUSER_SNAME
peut être utilisé comme contrainte DEFAULT dans ALTER TABLE
ou CREATE TABLE
. SUSER_SNAME
peut être utilisé dans une liste de sélection, dans une clause WHERE, et partout 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.
Notes relatives à Azure SQL Database
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 avec un contexte de sécurité représenté par la clause 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 contrainte DEFAULT dans une instruction CREATE TABLE
.
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
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour