sp_helpuser(Transact-SQL)
적용 대상: SQL Server
현재 데이터베이스의 데이터베이스 수준 보안 주체에 대한 정보를 보고합니다.
Important
sp_helpuser
는 SQL Server 2005(9.x) 이상 버전에서 도입된 보안 개체에 대한 정보를 반환하지 않습니다. 대신 sys.database_principals 사용합니다.
구문
sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]
인수
[ @name_in_db = ] N'name_in_db'
현재 데이터베이스에서 데이터베이스 사용자 또는 데이터베이스 역할의 이름입니다. @name_in_db sysname이며 기본값은 .입니다NULL
. @name_in_db 현재 데이터베이스에 있어야 합니다. @name_in_db 지정 sp_helpuser
되지 않은 경우 모든 데이터베이스 보안 주체에 대한 정보를 반환합니다.
반환 코드 값
0
(성공) 또는 1
(실패).
결과 집합
다음 표에서는 사용자 계정, SQL Server 또는 Windows 사용자가 @name_in_db 대해 지정되지 않은 경우의 결과 집합을 보여 줍니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
UserName |
sysname | 현재 데이터베이스의 사용자입니다. |
RoleName |
sysname | UserName 속한 역할입니다. |
LoginName |
sysname | 의 UserName 로그인 |
DefDBName |
sysname | 의 기본 데이터베이스입니다 UserName . |
DefSchemaName |
sysname | 데이터베이스 사용자의 기본 스키마입니다. |
UserID |
smallint | 현재 데이터베이스의 UserName ID입니다. |
SID |
smallint | SID(사용자 보안 ID 번호)입니다. |
다음 표에서는 사용자 계정이 지정되지 않고 현재 데이터베이스에 별칭이 있는 경우의 결과 집합을 보여 줍니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
LoginName |
sysname | 현재 데이터베이스의 사용자에게 별칭이 지정된 로그인입니다. |
UserNameAliasedTo |
sysname | 로그인이 별칭이 지정된 현재 데이터베이스의 사용자 이름입니다. |
다음 표에서는 @name_in_db 대해 역할이 지정된 경우의 결과 집합을 보여 있습니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
Role_name |
sysname | 현재 데이터베이스의 역할 이름입니다. |
Role_id |
smallint | 현재 데이터베이스에 있는 역할의 역할 ID입니다. |
Users_in_role |
sysname | 현재 데이터베이스에서 역할의 멤버입니다. |
Userid |
smallint | 역할 멤버의 사용자 ID입니다. |
설명
데이터베이스 역할의 멤버 자격에 대한 정보를 보려면 sys.database_role_members 사용합니다. 서버 역할 멤버에 대한 정보를 보고, sys.server_role_members 사용하고, 서버 수준 보안 주체에 대한 정보를 보려면 sys.server_principals 사용합니다.
사용 권한
public 역할의 멤버 자격이 필요합니다.
반환되는 정보에는 메타데이터에 대한 액세스 제한이 적용됩니다. 보안 주체에 권한이 없는 엔터티는 표시되지 않습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
예제
A. 모든 사용자 나열
다음 예제에서는 현재 데이터베이스의 모든 사용자를 나열합니다.
EXEC sp_helpuser;
B. 단일 사용자에 대한 정보 나열
다음 예에서는 사용자 데이터베이스 소유자(dbo
)에 대한 정보를 나열합니다.
EXEC sp_helpuser 'dbo';
C. 데이터베이스 역할에 대한 정보 나열
다음 예제에서는 db_securityadmin 고정 데이터베이스 역할에 대한 정보를 나열합니다.
EXEC sp_helpuser 'db_securityadmin';