SUSER_SNAME(Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트
SID(보안 ID)와 연결된 로그인 이름을 반환합니다.
Syntax
SUSER_SNAME ( [ server_user_sid ] )
참고 항목
SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.
인수
server_user_sid
선택적 로그인 보안 식별 번호입니다. server_user_sid는 varbinary(85)입니다. server_user_sid는 SQL Server 로그인 또는 Microsoft Windows 사용자 또는 그룹의 보안 ID일 수 있습니다. 열 내 sid
또는 sys.sql_logins
카탈로그 뷰를 sys.server_principals
참조하세요. server_user_sid가 지정되지 않은 경우 현재 사용자에 대한 정보가 반환됩니다. 매개 변수에 단어가 NULL
포함되어 있으면 .를 SUSER_SNAME
반환합니다 NULL
.
server_user_sid는 Azure SQL Database에서 지원되지 않습니다.
반환 형식
nvarchar(128)
설명
SUSER_SNAME
은 ALTER TABLE
또는 CREATE TABLE
에서 DEFAULT 제약 조건으로 사용할 수 있습니다. SUSER_SNAME
은 SELECT 목록, WHERE 절 및 식을 사용할 수 있는 곳이면 어디에서나 사용할 수 있습니다. SUSER_SNAME
은 매개 변수를 지정하지 않더라도 항상 뒤에 괄호를 필요로 합니다.
인수 없이 호출하면 SUSER_SNAME
이 현재 보안 컨텍스트의 이름을 반환합니다. 사용하여 EXECUTE AS
SUSER_SNAME
컨텍스트를 전환한 일괄 처리 내에서 인수 없이 호출되는 경우 가장된 컨텍스트의 이름을 반환합니다. 가장된 컨텍스트에서 호출된 경우 ORIGINAL_LOGIN
은 원래 컨텍스트의 이름을 반환합니다.
Azure SQL Database 설명
SUSER_SNAME
은 항상 현재 보안 컨텍스트의 로그인 이름을 반환합니다.
SUSER_SNAME
문은 EXECUTE AS를 통해 가장된 보안 컨텍스트를 사용하는 실행을 지원하지 않습니다.
SUSER_SNAME
은 server_user_id 인수를 지원하지 않습니다.
예제
A. SUSER_SNAME 사용
다음 예에서는 현재 보안 컨텍스트의 로그인 이름을 반환합니다.
SELECT SUSER_SNAME();
GO
B. Windows 사용자 보안 ID로 SUSER_SNAME 사용
다음 예에서는 Windows SID와 연결된 로그인 이름을 반환합니다.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. DEFAULT 제약 조건으로 SUSER_SNAME 사용
다음 예에서는 SUSER_SNAME
을 CREATE TABLE
문의 DEFAULT 제약 조건으로 사용합니다.
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을 EXECUTE AS와 함께 호출
이 예에서는 가장된 컨텍스트에서 호출될 때 SUSER_SNAME
의 동작을 보여줍니다.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
결과는 다음과 같습니다.
sa
WanidaBenShoof
sa
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
E. SUSER_SNAME 사용
다음 예에서는 0x01
값을 갖는 SID에 대한 로그인 이름을 반환합니다.
SELECT SUSER_SNAME(0x01);
GO
F. 현재 로그인 반환
다음 예에서는 현재 로그인의 로그인 이름을 반환합니다.
SELECT SUSER_SNAME() AS CurrentLogin;
GO
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기