SUSER_SNAME (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki 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 ve Analytics Platform Sistemi (PDW)

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