sp_helprotect(Transact-SQL)sp_helprotect (Transact-SQL)

적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions)

현재 데이터베이스의 개체에 대한 사용자 권한 또는 문 사용 권한에 관한 정보가 포함된 보고서를 반환합니다.Returns a report that has information about user permissions for an object, or statement permissions, in the current database.

중요

sp_helprotect 는에 도입 된 보안 개체에 대 한 정보를 반환 하지 않습니다 SQL Server 2005(9.x)SQL Server 2005 (9.x) .sp_helprotect does not return information about securables that were introduced in SQL Server 2005(9.x)SQL Server 2005 (9.x). 대신 database_permissionsfn_builtin_permissions 를 사용 하십시오.Use sys.database_permissions and fn_builtin_permissions instead.

고정 서버 역할 또는 고정 데이터베이스 역할에 항상 할당된 사용 권한을 나열하지 않습니다.Does not list permissions that are always assigned to the fixed server roles or fixed database roles. 역할에서의 멤버 자격에 따라 사용 권한을 받는 로그인 또는 사용자를 포함하지 않습니다.Does not include logins or users that receive permissions based on their membership in a role.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

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

인수Arguments

[ @name = ] 'object_statement' 현재 데이터베이스에 있는 개체의 이름 또는 보고할 권한이 있는 문입니다.[ @name = ] 'object_statement' Is the name of the object in the current database, or a statement, that has the permissions to report. object_statementnvarchar (776) 이며 기본값은 모든 개체 및 문 사용 권한을 반환 하는 NULL입니다.object_statement is nvarchar(776), with a default of NULL, which returns all object and statement permissions. 값이 개체(테이블, 뷰, 저장 프로시저 또는 확장 저장 프로시저)인 경우에는 반드시 현재 데이터베이스의 유효한 개체여야 합니다.If the value is an object (table, view, stored procedure, or extended stored procedure), it must be a valid object in the current database. 개체 이름에는 소유자 한정자가 포함 될 수 있습니다 owner. _개체_입니다.The object name can include an owner qualifier in the form owner.object.

문이 object_statement 경우 CREATE 문이 될 수 있습니다.If object_statement is a statement, it can be a CREATE statement.

[ @username = ] 'security_account' 사용 권한이 반환 되는 보안 주체의 이름입니다.[ @username = ] 'security_account' Is the name of the principal for which permissions are returned. security_accountsysname이며 기본값은 현재 데이터베이스의 모든 보안 주체를 반환 하는 NULL입니다.security_account is sysname, with a default of NULL, which returns all principals in the current database. security_account 는 현재 데이터베이스에 있어야 합니다.security_account must exist in the current database.

[ @grantorname = ] 'grantor' 사용 권한을 부여한 보안 주체의 이름입니다.[ @grantorname = ] 'grantor' Is the name of the principal that granted permissions. grantorsysname이며 기본값은 데이터베이스의 보안 주체에서 부여 된 사용 권한에 대 한 모든 정보를 반환 하는 NULL입니다.grantor is sysname, with a default of NULL, which returns all information for permissions granted by any principal in the database.

[ @permissionarea = ] 'type' 개체 사용 권한 (문자열 o), 문 사용 권한 (문자열 s) 또는 둘 다 (os)를 표시할지 여부를 나타내는 문자열입니다.[ @permissionarea = ] 'type' Is a character string that indicates whether to display object permissions (character string o), statement permissions (character string s), or both (os). typevarchar (10) 이며 기본값은 os입니다.type is varchar(10),with a default of os. type 은 o와 s를 조합 하 여 사용할 수 있습니다. otype can be any combination of o and s, with or without commas or spaces between o and s.

반환 코드 값Return Code Values

0(성공) 또는 1(실패)0 (success) or 1 (failure)

결과 집합Result Sets

열 이름Column name 데이터 형식Data type DescriptionDescription
소유자Owner sysnamesysname 개체 소유자의 이름입니다.Name of the object owner.
ObjectObject sysnamesysname 개체 이름입니다.Name of the object.
피부 여자Grantee sysnamesysname 사용 권한이 부여된 보안 주체의 이름입니다.Name of the principal to which permissions were granted.
GrantorGrantor sysnamesysname 지정된 사람에게 사용 권한을 부여한 보안 주체의 이름입니다.Name of the principal that granted permissions to the specified grantee.
ProtectTypeProtectType nvarchar (10)nvarchar(10) 보호의 유형 이름입니다.Name of the type of protection:

GRANT REVOKEGRANT REVOKE
작업Action nvarchar(60)nvarchar(60) 사용 권한의 이름입니다.Name of the permission. 유효한 사용 권한 문은 개체의 유형에 따라 달라집니다.Valid permission statements depend upon the type of object.
Column sysnamesysname 사용 권한의 유형입니다.Type of permission:

All = 사용 권한이 개체의 모든 현재 열을 포함합니다.All = Permission covers all current columns of the object.

New = 사용 권한이 미래의 개체에서 (ALTER문을 사용하여) 변경할 수 있는 모든 새 열을 포함합니다.New = Permission covers any new columns that might be changed (by using the ALTER statement) on the object in the future.

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

사용 권한의 유형이 열에 적용되지 않는 경우에는 마침표를 반환합니다.Returns a period if the type of permission does not apply to columns.

설명Remarks

다음 절차의 모든 매개 변수는 선택 사항입니다.All the parameters in the following procedure are optional. 매개 변수 없이 sp_helprotect를 실행한 경우에는 현재 데이터베이스에 부여되었거나 거부된 모든 사용 권한을 표시합니다.If executed with no parameters, sp_helprotect displays all the permissions that have been granted or denied in the current database.

전부가 아니라 일부 매개 변수가 지정된 경우에는 명명된 매개 변수를 사용하여 특정 매개 변수를 식별하거나 NULL을 자리 표시자로 사용합니다.If some but not all the parameters are specified, use named parameters to identify the particular parameter, or NULL as a placeholder. 예를 들어 사용 권한을 부여한 데이터베이스 소유자(dbo)에 관한 사용 권한을 모두 보고하려면 다음을 실행합니다.For example, to report all permissions for the grantor database owner (dbo), execute the following:

EXEC sp_helprotect NULL, NULL, dbo;  

또는Or

EXEC sp_helprotect @grantorname = 'dbo';  

출력 보고서는 사용 권한 범주, 소유자, 개체, 피부여자, 사용 권한을 부여한 사용자, 보호 유형 범주, 보호 유형, 동작 및 열 시퀀스 ID 별로 정렬됩니다.The output report is sorted by permission category, owner, object, grantee, grantor, protection type category, protection type, action, and column sequential ID.

사용 권한Permissions

public 역할의 멤버 자격이 필요합니다.Requires membership in the public role.

반환되는 정보는 메타데이터에 대한 액세스 제한 사항에 따라 달라집니다.Information returned is subject to restrictions on access to metadata. 보안 주체에 사용 권한이 없는 엔터티는 나타나지 않습니다.Entities on which the principal has no permission do not appear. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.For more information, see Metadata Visibility Configuration.

예제Examples

A.A. 테이블에 대한 사용 권한 나열Listing the permissions for a table

다음 예에서는 titles 테이블에 대한 사용 권한을 나열합니다.The following example lists the permissions for the titles table.

EXEC sp_helprotect 'titles';  

B.B. 사용자에 대한 사용 권한 나열Listing the permissions for a user

다음 예에서는 Judy라는 사용자가 현재 데이터베이스에서 갖고 있는 모든 사용 권한을 나열합니다.The following example lists all permissions that user Judy has in the current database.

EXEC sp_helprotect NULL, 'Judy';  

C.C. 특정 사용자에 의해 부여된 사용 권한 나열Listing the permissions granted by a specific user

다음 예에서는 현재 데이터베이스에서 Judy라는 사용자에 의해 부여된 모든 사용 권한을 나열하고 누락된 매개 변수에 대해 NULL을 자리 표시자로 사용합니다.The following example lists all permissions that were granted by user Judy in the current database, and uses NULL as a placeholder for the missing parameters.

EXEC sp_helprotect NULL, NULL, 'Judy';  

D.D. 문 사용 권한만 나열Listing the statement permissions only

다음 예에서는 현재 데이터베이스의 모든 문 사용 권한을 나열하고 누락된 매개 변수에 대해 NULL을 자리 표시자로 사용합니다.The following example lists all the statement permissions in the current database, and uses NULL as a placeholder for the missing parameters.

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

e.e. CREATE 문에 대한 사용 권한 나열Listing the permissions for a CREATE statement

다음 예에서는 CREATE TABLE 사용 권한이 부여된 모든 사용자를 나열합니다.The following example list all users who have been granted the CREATE TABLE permission.

EXEC sp_helprotect @name = 'CREATE TABLE';  

관련 항목See Also

Security Stored Procedures (Transact-SQL) Security Stored Procedures (Transact-SQL)
DENY(Transact-SQL) DENY (Transact-SQL)
GRANT(Transact-SQL) GRANT (Transact-SQL)
REVOKE(Transact-SQL) REVOKE (Transact-SQL)
시스템 저장 프로시저(Transact-SQL)System Stored Procedures (Transact-SQL)