Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Returnerar inloggningsnamnet som är associerat med ett säkerhetsidentifieringsnummer (SID).
Transact-SQL syntaxkonventioner
Syntax
SUSER_SNAME ( [ server_user_sid ] )
Arguments
server_user_sid
Det valfria säkerhetsidentifieringsnumret för inloggning.
server_user_sid är varbinary(85).
server_user_sid kan vara säkerhetsidentifieringsnumret för valfri SQL Server-inloggning eller Microsoft Windows-användare eller grupp.
sid Se kolumnen i sys.server_principals eller sys.sql_logins katalogvyerna. Om server_user_sid inte anges returneras information om den aktuella användaren. Om parametern innehåller ordet NULLreturnerar NULL. SUSER_SNAME
server_user_sid stöds inte i Azure SQL Database eller SQL Database i Förhandsversionen av Microsoft Fabric.
Returtyp
nvarchar(128)
Anmärkningar
SUSER_SNAME kan användas som en DEFAULT begränsning i antingen ALTER TABLE eller CREATE TABLE.
SUSER_SNAME kan användas i en urvalslista, i en WHERE sats och var som helst där ett uttryck tillåts.
SUSER_SNAME måste alltid följas av parenteser, även om ingen parameter har angetts.
När det anropas utan argument SUSER_SNAME returneras namnet på den aktuella säkerhetskontexten. När det anropas utan argument i en batch som har växlat kontext med hjälp EXECUTE ASav returneras SUSER_SNAME namnet på den personifierade kontexten. När det anropas från en personifierad kontext ORIGINAL_LOGIN returneras namnet på den ursprungliga kontexten.
Kommentarer för Azure SQL Database, SQL Database i Fabric
SUSER_SNAME returnerar alltid inloggningsnamnet för den aktuella säkerhetskontexten.
-instruktionen SUSER_SNAME stöder inte körning med hjälp av en personifierad säkerhetskontext via EXECUTE AS.
SUSER_SNAME stöder inte argumentet server_user_id .
Examples
A. Använda SUSER_SNAME
I följande exempel returneras inloggningsnamnet för den aktuella säkerhetskontexten.
SELECT SUSER_SNAME();
GO
B. Använda SUSER_SNAME med ett Windows-användarsäkerhets-ID
I följande exempel returneras inloggningsnamnet som är associerat med ett Windows-säkerhetsidentifieringsnummer.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. Använd SUSER_SNAME som standardvillkor
I följande exempel används SUSER_SNAME som en DEFAULT begränsning i en CREATE TABLE -instruktion.
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. Anropa SUSER_SNAME i kombination med EXECUTE AS
Det här exemplet visar beteendet SUSER_SNAME för när det anropas från en personifierad kontext.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Här är resultatet.
sa
WanidaBenShoof
sa
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
E. Använda SUSER_SNAME
I följande exempel returneras inloggningsnamnet för säkerhetsidentifieringsnumret med värdet 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. Returnera den aktuella inloggningen
I följande exempel returneras inloggningsnamnet för den aktuella inloggningen.
SELECT SUSER_SNAME() AS CurrentLogin;
GO