Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Retourneert de aanmeldingsnaam die is gekoppeld aan een beveiligingsidentificatienummer (SID).
Transact-SQL syntaxis-conventies
Syntaxis
SUSER_SNAME ( [ server_user_sid ] )
Arguments
server_user_sid
Het optionele aanmeldingsbeveiligingsidentificatienummer.
server_user_sid is varbinair(85).
server_user_sid kan het beveiligingsidentificatienummer zijn van elke SQL Server-aanmelding of Microsoft Windows-gebruiker of -groep. Raadpleeg de sid kolom in sys.server_principals of sys.sql_logins catalogusweergaven. Als server_user_sid niet is opgegeven, wordt informatie over de huidige gebruiker geretourneerd. Als de parameter het woord NULLbevat, SUSER_SNAME wordt dit geretourneerd NULL.
server_user_sid wordt niet ondersteund op Azure SQL Database of SQL-databases in Microsoft Fabric.
Resultaattype
nvarchar(128)
Opmerkingen
SUSER_SNAME kan worden gebruikt als een DEFAULT beperking in ALTER TABLE of CREATE TABLE.
SUSER_SNAME kan worden gebruikt in een selectielijst, in een WHERE component en overal waar een expressie is toegestaan.
SUSER_SNAME moet altijd worden gevolgd door haakjes, zelfs als er geen parameter is opgegeven.
Wanneer u zonder argument wordt aangeroepen, SUSER_SNAME wordt de naam van de huidige beveiligingscontext geretourneerd. Wanneer aangeroepen zonder argument in een batch die context heeft gewijzigd met behulp EXECUTE ASvan, SUSER_SNAME retourneert u de naam van de geïmiteerde context. Wanneer deze wordt aangeroepen vanuit een geïmiteerde context, ORIGINAL_LOGIN wordt de naam van de oorspronkelijke context geretourneerd.
Opmerkingen voor Azure SQL Database, SQL Database in Fabric
SUSER_SNAME retourneert altijd de aanmeldingsnaam voor de huidige beveiligingscontext.
De SUSER_SNAME instructie biedt geen ondersteuning voor uitvoering met behulp van een geïmiteerde beveiligingscontext via EXECUTE AS.
SUSER_SNAME biedt geen ondersteuning voor het argument server_user_id .
Voorbeelden
Eén. Gebruik SUSER_SNAME
In het volgende voorbeeld wordt de aanmeldingsnaam voor de huidige beveiligingscontext geretourneerd.
SELECT SUSER_SNAME();
GO
B. Gebruik SUSER_SNAME met een windows-gebruikersbeveiligings-id
In het volgende voorbeeld wordt de aanmeldingsnaam geretourneerd die is gekoppeld aan een Windows-beveiligingsidentificatienummer.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. Gebruik SUSER_SNAME als DEFAULT beperking
In het volgende voorbeeld wordt een SUSER_SNAME beperking in een DEFAULT instructie gebruiktCREATE TABLE.
Note
In Azure SQL Database en SQL Database in Microsoft Fabric is de USE instructie niet beschikbaar. Maak in plaats daarvan direct verbinding met de beoogde database en voer de rest van het codevoorbeeld uit.
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. Bel SUSER_SNAME in combinatie met EXECUTE AS
In dit voorbeeld ziet u het gedrag van SUSER_SNAME wanneer deze wordt aangeroepen vanuit een geïmiteerde context.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Dit is het resultaat.
sa
WanidaBenShoof
sa
Voorbeelden: Azure Synapse Analytics
E. Gebruik SUSER_SNAME
In het volgende voorbeeld wordt de aanmeldingsnaam voor het beveiligingsidentificatienummer geretourneerd met een waarde van 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. De huidige aanmelding retourneren
In het volgende voorbeeld wordt de aanmeldingsnaam van de huidige aanmelding geretourneerd.
SELECT SUSER_SNAME() AS CurrentLogin;
GO