sp_helprotect(Transact-SQL)

적용 대상:SQL Server

현재 데이터베이스에서 개체 또는 문 권한에 대한 사용자 권한에 대한 정보가 있는 보고서를 반환합니다.

Important

sp_helprotect SQL Server 2005(9.x)에서 도입된 보안 개체에 대한 정보를 반환하지 않습니다. 대신 sys.database_permissions 사용하여 fn_builtin_permissions.

고정 서버 역할 또는 고정 데이터베이스 역할에 항상 할당되는 사용 권한은 나열하지 않습니다. 역할의 멤버 자격에 따라 권한을 받는 로그인 또는 사용자를 포함하지 않습니다.

Transact-SQL 구문 표기 규칙

구문

  
sp_helprotect [ [ @name = ] 'object_statement' ]   
     [ , [ @username = ] 'security_account' ]   
     [ , [ @grantorname = ] 'grantor' ]   
     [ , [ @permissionarea = ] 'type' ]  

인수

[ @name = ] 'object_statement' 현재 데이터베이스에 있는 개체의 이름 또는 보고 권한이 있는 문입니다. object_statement nvarchar(776)이며, 기본값은 NULL이며 모든 개체 및 문 권한을 반환합니다. 값이 개체(테이블, 뷰, 저장 프로시저 또는 확장 저장 프로시저)인 경우 현재 데이터베이스에서 유효한 개체여야 합니다. 개체 이름은 양식 소유자에 소유자 한정자를 포함할 수 있습니다.개체입니다.

object_statement 문인 경우 CREATE 문일 수 있습니다.

[ @username = ] 'security_account' 사용 권한이 반환되는 보안 주체의 이름입니다. security_account 현재 데이터베이스의 모든 보안 주체를 반환하는 NULL의 기본값이 있는 sysname입니다. security_account 현재 데이터베이스에 있어야 합니다.

[ @grantorname = ] 'grantor' 사용 권한을 부여한 보안 주체의 이름입니다. grantor는 sysname이며 기본값은 NULL이며 데이터베이스의 보안 주체가 부여한 권한에 대한 모든 정보를 반환합니다.

[ @permissionarea = ] 'type'개체 사용 권한(문자열 o), 문 사용 권한(문자열 s) 또는 둘 다(os)를 표시할지 여부를 나타내는 문자 문자열입니다. 형식varchar(10)이며 기본값은 os입니다. 형식은 o와 s 사이의 쉼표 또는 공백을 사용하거나 사용하지 않고 os조합일 수 있습니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

열 이름 데이터 형식 설명
소유자 sysname 개체 소유자의 이름입니다.
Object sysname 개체의 이름입니다.
피부 sysname 사용 권한이 부여된 보안 주체의 이름입니다.
양도인 sysname 지정한 피부여자에게 사용 권한을 부여한 보안 주체의 이름입니다.
ProtectType nvarchar(10) 보호 유형 이름:

GRANT REVOKE
작업 nvarchar(60) 사용 권한의 이름입니다. 유효한 사용 권한 문은 개체의 유형에 따라 달라집니다.
세로 막대형 sysname 사용 권한 유형:

All = 권한은 개체의 모든 현재 열을 포함합니다.

New = 사용 권한은 나중에 개체에 대해 변경될 수 있는 모든 새 열을 포함합니다(ALTER 문을 사용하여).

All+New = All과 New의 조합입니다.

사용 권한의 유형이 열에 적용되지 않는 경우에는 마침표를 반환합니다.

설명

다음 절차의 모든 매개 변수는 선택 사항입니다. 매개 변수 sp_helprotect 없이 실행된 경우 현재 데이터베이스에서 부여되거나 거부된 모든 사용 권한을 표시합니다.

일부 매개 변수가 지정되지 않은 경우 명명된 매개 변수를 사용하여 특정 매개 변수를 식별하거나 NULL 자리 표시자로 지정합니다. 예를 들어 부여자 데이터베이스 소유자()dbo에 대한 모든 권한을 보고하려면 다음을 실행합니다.

EXEC sp_helprotect NULL, NULL, dbo;  

Or

EXEC sp_helprotect @grantorname = 'dbo';  

출력 보고서는 사용 권한 범주, 소유자, 개체, 피부여자, 피부여자, 보호 유형 범주, 보호 유형, 작업 및 열 순차 ID별로 정렬됩니다.

사용 권한

public 역할의 멤버 자격이 필요합니다.

반환되는 정보에는 메타데이터에 대한 액세스 제한이 적용됩니다. 보안 주체에 권한이 없는 엔터티는 표시되지 않습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

A. 테이블에 대한 사용 권한 나열

다음 예에서는 titles 테이블에 대한 사용 권한을 나열합니다.

EXEC sp_helprotect 'titles';  

B. 사용자에 대한 사용 권한 나열

다음 예제에서는 사용자가 Judy 현재 데이터베이스에 있는 모든 권한을 나열합니다.

EXEC sp_helprotect NULL, 'Judy';  

C. 특정 사용자가 부여한 사용 권한 나열

다음 예제에서는 현재 데이터베이스에서 사용자가 Judy 부여한 모든 사용 권한을 나열하고 누락된 매개 변수의 자리 표시자로 사용합니다 NULL .

EXEC sp_helprotect NULL, NULL, 'Judy';  

D. 문 권한만 나열

다음 예제에서는 현재 데이터베이스의 모든 문 사용 권한을 나열하고 누락된 매개 변수의 자리 표시자로 사용합니다 NULL .

EXEC sp_helprotect NULL, NULL, NULL, 's';   

e. CREATE 문에 대한 사용 권한 나열

다음 예제에서는 CREATE TABLE 권한이 부여된 모든 사용자를 나열합니다.

EXEC sp_helprotect @name = 'CREATE TABLE';  

참고 항목

보안 저장 프로시저(Transact-SQL)
DENY(Transact-SQL)
GRANT(Transact-SQL)
REVOKE(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)