SUSER_SNAME (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsMicrosoft Fabric'te SQL analitiği uç noktasıMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

Güvenlik kimlik numarası (SID) ile ilişkili oturum açma adını döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

SUSER_SNAME ( [ server_user_sid ] )

Arguments

server_user_sid

İsteğe bağlı oturum açma güvenliği kimlik numarası. server_user_sidvarbinary(85) şeklindedir. server_user_sid herhangi bir SQL Server oturum açma bilgisinin veya Microsoft Windows kullanıcısının veya grubunun güvenlik kimlik numarası olabilir. sid veya sys.server_principals katalog görünümlerindeki sys.sql_logins sütuna bakın. server_user_sid belirtilmezse, geçerli kullanıcı hakkındaki bilgiler döndürülür. parametresi sözcüğünü NULLiçeriyorsa döndürür SUSER_SNAMENULL.

server_user_sid Microsoft Fabric'ta Azure SQL Veritabanı veya SQL veritabanında desteklenmemektedir.

Dönüş türü

nvarchar(128)

Açıklamalar

SUSER_SNAMEveya DEFAULTiçinde ALTER TABLE kısıtlama CREATE TABLE olarak kullanılabilir. SUSER_SNAME seçme listesinde, yan tümcesinde WHERE ve bir ifadeye izin verilen her yerde kullanılabilir. SUSER_SNAME parametre belirtilmemiş olsa bile her zaman parantez içinde olmalıdır.

Bağımsız değişken olmadan çağrıldığında, SUSER_SNAME geçerli güvenlik bağlamının adını döndürür. kullanarak EXECUTE ASbağlamı değiştirmiş bir toplu iş içinde bağımsız değişken olmadan çağrıldığında, SUSER_SNAME kimliğine bürünülen bağlamın adını döndürür. Kimliğine bürünülen bir bağlamdan çağrıldığında özgün ORIGINAL_LOGIN bağlamın adını döndürür.

Dokuda Azure SQL Veritabanı, SQL veritabanı için açıklamalar

SUSER_SNAME her zaman geçerli güvenlik bağlamı için oturum açma adını döndürür.

deyimi SUSER_SNAME , aracılığıyla EXECUTE ASkimliğine bürünülen bir güvenlik bağlamı kullanılarak yürütmeyi desteklemez.

SUSER_SNAME server_user_id bağımsız değişkenini desteklemez.

Örnekler

A. SUSER_SNAME kullanma

Aşağıdaki örnek, geçerli güvenlik bağlamı için oturum açma adını döndürür.

SELECT SUSER_SNAME();
GO

B. Windows kullanıcı güvenlik kimliğiyle SUSER_SNAME kullanma

Aşağıdaki örnek, Bir Windows güvenlik kimlik numarasıyla ilişkili oturum açma adını döndürür.

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO

C. SUSER_SNAME kısıtlama DEFAULT olarak kullanın

Aşağıdaki örnek, deyiminde SUSER_SNAME kısıtlama DEFAULT olarak kullanırCREATE 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. SUSER_SNAME aramak EXECUTE AS

Bu örnek, kimliğine bürünülen bir bağlamdan çağrıldığında davranışını SUSER_SNAME gösterir.

SELECT SUSER_SNAME();
GO

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

REVERT;
GO

SELECT SUSER_SNAME();
GO

Sonuç aşağıdadır.

sa
WanidaBenShoof
sa

Örnekler: Azure Synapse Analytics

E. SUSER_SNAME kullanma

Aşağıdaki örnek, değeri 0x01olan güvenlik kimlik numarası için oturum açma adını döndürür.

SELECT SUSER_SNAME(0x01);
GO

F. Geçerli oturum açma bilgilerini döndürme

Aşağıdaki örnek, geçerli oturum açmanın oturum açma adını döndürür.

SELECT SUSER_SNAME() AS CurrentLogin;
GO