Megosztás a következőn keresztül:


SUSER_SNAME (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabric előzetes verziójában

A biztonsági azonosító számhoz (SID) társított bejelentkezési nevet adja vissza.

Transact-SQL szintaxis konvenciók

Szemantika

SUSER_SNAME ( [ server_user_sid ] )

Arguments

server_user_sid

Az opcionális bejelentkezési biztonsági azonosító szám. server_user_sidvarbinary(85). server_user_sid bármely SQL Server-bejelentkezés vagy Microsoft Windows-felhasználó vagy -csoport biztonsági azonosítószáma lehet. Tekintse meg az oszlopot vagy sys.sql_logins a sidsys.server_principals katalógusnézeteket. Ha nincs megadva server_user_sid, a rendszer visszaadja az aktuális felhasználó adatait. Ha a paraméter tartalmazza a szót, SUSER_SNAME a visszaadott NULLértéket NULLadja vissza.

server_user_sid nem támogatott az Azure SQL Database-ben vagy az SQL Database-ben a Microsoft Fabric előzetes verziójában.

Visszatérési típus

nvarchar(128)

Megjegyzések

SUSER_SNAME A korlátozásként DEFAULT használható a következőben: ALTER TABLECREATE TABLEvagy . SUSER_SNAME egy kijelölési listában, egy WHERE záradékban és bárhol használható, ahol egy kifejezés engedélyezve van. SUSER_SNAME zárójelek mindig követendők, még akkor is, ha nincs megadva paraméter.

Argumentum nélkül SUSER_SNAME hívva az aktuális biztonsági környezet nevét adja vissza. Ha argumentum nélkül hív meg egy olyan kötegben, amely a használatával EXECUTE ASváltott környezetbe, SUSER_SNAME a megszemélyesített környezet nevét adja vissza. Ha megszemélyesített környezetből hívjuk meg, ORIGINAL_LOGIN az eredeti környezet nevét adja vissza.

Megjegyzések az Azure SQL Database-hez és az SQL Database-hez a Fabricben

SUSER_SNAME mindig az aktuális biztonsági környezet bejelentkezési nevét adja vissza.

Az SUSER_SNAME utasítás nem támogatja a megszemélyesített biztonsági környezettel EXECUTE AStörténő végrehajtást.

SUSER_SNAME nem támogatja a server_user_id argumentumot.

Példák

A. SUSER_SNAME használata

Az alábbi példa az aktuális biztonsági környezet bejelentkezési nevét adja vissza.

SELECT SUSER_SNAME();
GO

B. A SUSER_SNAME használata Windows felhasználói biztonsági azonosítóval

Az alábbi példa a Windows biztonsági azonosító számához társított bejelentkezési nevet adja vissza.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

C. A SUSER_SNAME használata ALAPÉRTELMEZETT kényszerként

Az alábbi példa kényszerként DEFAULT használ SUSER_SNAME egy CREATE TABLE utasításban.

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. SUSER_SNAME hívása az EXECUTE AS-vel kombinálva

Ez a példa a megszemélyesített környezetből meghívottak viselkedését SUSER_SNAME mutatja be.

SELECT SUSER_SNAME();
GO

EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();

REVERT;
GO

SELECT SUSER_SNAME();
GO

Az eredmény a következő.

sa
WanidaBenShoof
sa

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

E. SUSER_SNAME használata

Az alábbi példa a biztonsági azonosító szám bejelentkezési nevét adja vissza a következő értékkel 0x01: .

SELECT SUSER_SNAME(0x01);
GO

F. Az aktuális bejelentkezés visszaadása

Az alábbi példa az aktuális bejelentkezés bejelentkezési nevét adja vissza.

SELECT SUSER_SNAME() AS CurrentLogin;
GO