REVOKE(Transact-SQL)REVOKE (Transact-SQL)

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

이전에 부여하거나 거부한 사용 권한을 제거합니다.Removes a previously granted or denied permission.

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

구문Syntax

-- Syntax for SQL Server and Azure SQL Database  

-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  

REVOKE   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  

<permission> ::=  
{ see the tables below }  

<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

인수Arguments

GRANT OPTION FORGRANT OPTION FOR
지정된 사용 권한을 부여할 수 있는 권한이 취소됨을 나타냅니다.Indicates that the ability to grant the specified permission will be revoked. CASCADE 인수를 사용할 경우 이 인수가 필요합니다.This is required when you are using the CASCADE argument.

중요

보안 주체에 GRANT 옵션 없이 지정된 사용 권한이 있는 경우 사용 권한 자체가 취소됩니다.If the principal has the specified permission without the GRANT option, the permission itself will be revoked.

ALLALL
적용 대상: SQL Server 2008SQL Server 2008 통해 SQL Server 2017SQL Server 2017Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017

이 옵션은 모든 가능한 사용 권한을 취소하지 않습니다.This option does not revoke all possible permissions. ALL을 취소하는 것은 다음 사용 권한을 취소하는 것과 같습니다.Revoking ALL is equivalent to revoking the following permissions.

  • 보안 개체가 데이터베이스인 경우 ALL은 BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE 및 CREATE VIEW를 의미합니다.If the securable is a database, ALL means BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, and CREATE VIEW.

  • 보안 개체가 스칼라 함수인 경우 ALL은 EXECUTE 및 REFERENCES를 의미합니다.If the securable is a scalar function, ALL means EXECUTE and REFERENCES.

  • 보안 개체가 테이블 반환 함수인 경우 ALL은 DELETE, INSERT, REFERENCES, SELECT 및 UPDATE를 의미합니다.If the securable is a table-valued function, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • 보안 개체가 저장 프로시저인 경우 ALL은 EXECUTE를 의미합니다.If the securable is a stored procedure, ALL means EXECUTE.

  • 보안 개체가 테이블인 경우 ALL은 DELETE, INSERT, REFERENCES, SELECT 및 UPDATE를 의미합니다.If the securable is a table, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

  • 보안 개체가 뷰인 경우 ALL은 DELETE, INSERT, REFERENCES, SELECT 및 UPDATE를 의미합니다.If the securable is a view, ALL means DELETE, INSERT, REFERENCES, SELECT, and UPDATE.

참고

REVOKE ALL 구문은 더 이상 사용되지 않습니다.The REVOKE ALL syntax is deprecated. 대신 Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Revoke 관련 권한을 사용하세요. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Revoke specific permissions instead.

PRIVILEGESPRIVILEGES
ISO 호환성을 위해 포함됩니다.Included for ISO compliance. ALL의 동작을 변경하지 않습니다.Does not change the behavior of ALL.

사용 권한permission
사용 권한의 이름입니다.Is the name of a permission. 보안 개체에 사용 권한의 올바른 매핑에 대해서에 나열 된 항목에 설명 되어 보안 개체별 구문 이 항목의 뒷부분에 나오는 합니다.The valid mappings of permissions to securables are described in the topics listed in Securable-specific Syntax later in this topic.

column
사용 권한을 취소할 테이블의 열 이름을 지정합니다.Specifies the name of a column in a table on which permissions are being revoked. 괄호가 필요합니다.The parentheses are required.

클래스class
사용 권한을 취소할 보안 개체의 클래스를 지정합니다.Specifies the class of the securable on which the permission is being revoked. 범위 한정자 :: 가 필요 합니다.The scope qualifier :: is required.

보안 개체securable
사용 권한을 취소할 보안 개체를 지정합니다.Specifies the securable on which the permission is being revoked.

| TO | FROM principal
보안 주체의 이름입니다.Is the name of a principal. 보안 개체에 대한 사용 권한을 취소할 대상 보안 주체는 보안 개체에 따라 다릅니다.The principals from which permissions on a securable can be revoked vary, depending on the securable. 유효한 조합에 대 한 자세한 내용은에 나열 된 항목을 참조 하십시오. 보안 개체별 구문 이 항목의 뒷부분에 나오는 합니다.For more information about valid combinations, see the topics listed in Securable-specific Syntax later in this topic.

CASCADECASCADE
특정 보안 주체가 부여한 사용 권한을 취소하면 동일한 보안 주체가 부여한 다른 보안 주체의 사용 권한도 취소됨을 나타냅니다.Indicates that the permission that is being revoked is also revoked from other principals to which it has been granted by this principal. CASCADE 인수를 사용할 경우에는 GRANT OPTION FOR 인수도 포함해야 합니다.When you are using the CASCADE argument, you must also include the GRANT OPTION FOR argument.

주의

WITH GRANT OPTION을 부여 받은 사용 권한이 연계되어 취소되면 해당 사용 권한의 GRANT 및 DENY가 모두 취소됩니다.A cascaded revocation of a permission granted WITH GRANT OPTION will revoke both GRANT and DENY of that permission.

AS AS principal
본인이 아닌 다른 사용자에 의해 부여 된 사용 권한을 취소할 수 있는지 나타내려면 AS 주 절을 사용 합니다.Use the AS principal clause to indicate that you are revoking a permission that was granted by a principal other than you. 예를 들어 사용자 Mary가 principal_id 12 및 Raul 사용자가 주 15 한다고 가정해 보겠습니다.For example, presume that user Mary is principal_id 12 and user Raul is principal 15. Mary 및 Raul 모두 동일한 권한에 서 라는 사용자 권한을 부여 합니다.Both Mary and Raul grant a user named Steven the same permission. Sys.database_permissions 테이블 사용 권한을 두 번 표시 됩니다 하지만 각각 아무런 다른 grantor_prinicpal_id 값입니다.The sys.database_permissions table will indicate the permissions twice but they will each have a different grantor_prinicpal_id value. Mary 사용 하 여 권한을 해지할 수는 AS RAUL 절을 사용 권한의 Raul의 권한 부여를 제거 합니다.Mary could revoke the permission using the AS RAUL clause to remove Raul's grant of the permission.

이 문 에서처럼 사용 하는 다른 사용자를 가장 하는 기능을 의미 하지 않습니다.The use of AS in this statement does not imply the ability to impersonate another user.

주의Remarks

REVOKE 문의 전체 구문은 복잡합니다.The full syntax of the REVOKE statement is complex. 위의 구문 다이어그램은 구조를 강조하기 위해 단순하게 표현되었습니다.The syntax diagram above was simplified to draw attention to its structure. 특정 보안 개체에 대 한 사용 권한을 취소 하는 전체 구문은에 나열 된 항목에서 설명 보안 개체별 구문 이 항목의 뒷부분에 나오는 합니다.Complete syntax for revoking permissions on specific securables is described in the topics listed in Securable-specific Syntax later in this topic.

REVOKE 문을 사용하여 부여된 사용 권한을 제거할 수 있으며 DENY 문을 사용하여 보안 주체가 GRANT를 통해 특정 사용 권한을 얻지 못하도록 막을 수 있습니다.The REVOKE statement can be used to remove granted permissions, and the DENY statement can be used to prevent a principal from gaining a specific permission through a GRANT.

사용 권한을 부여하면 지정된 보안 개체에 대한 이 사용 권한의 DENY 또는 REVOKE가 제거됩니다.Granting a permission removes DENY or REVOKE of that permission on the specified securable. 보안 개체가 포함된 상위 범위에서 동일한 사용 권한이 거부되면 DENY가 우선 적용됩니다.If the same permission is denied at a higher scope that contains the securable, the DENY takes precedence. 그러나 상위 범위에서 부여된 사용 권한을 취소하는 것은 우선 적용되지 않습니다.However, revoking the granted permission at a higher scope does not take precedence.

주의

테이블 수준의 DENY는 열 수준의 GRANT보다 우선하지 않습니다.A table-level DENY does not take precedence over a column-level GRANT. 사용 권한 계층에서의 이러한 불일치는 이전 버전과의 호환성을 위해 유지되었습니다.This inconsistency in the permissions hierarchy has been preserved for backward compatibility. 후속 릴리스에서 제거될 예정입니다.It will be removed in a future release.

sp_helprotect 시스템 저장 프로시저는 데이터베이스 수준 보안 개체에 대한 사용 권한을 보고합니다.The sp_helprotect system stored procedure reports permissions on a database-level securable

GRANT OPTION을 지정하여 사용 권한이 부여된 보안 주체의 사용 권한을 취소할 경우 CASCADE를 지정하지 않으면 REVOKE 문이 실패합니다.The REVOKE statement will fail if CASCADE is not specified when you are revoking a permission from a principal that was granted that permission with GRANT OPTION specified.

PermissionsPermissions

보안 개체에 대한 CONTROL 권한이 있는 보안 주체는 해당 보안 개체에 대한 사용 권한을 취소할 수 있습니다.Principals with CONTROL permission on a securable can revoke permission on that securable. 개체 소유자는 소유하고 있는 개체에 대한 사용 권한을 취소할 수 있습니다.Object owners can revoke permissions on the objects they own.

sysadmin 고정 서버 역할의 멤버와 같이 CONTROL SERVER 권한이 부여된 사용자는 서버의 모든 보안 개체에 대한 사용 권한을 취소할 수 있습니다.Grantees of CONTROL SERVER permission, such as members of the sysadmin fixed server role, can revoke any permission on any securable in the server. db_owner 고정 데이터베이스 역할의 멤버와 같이 데이터베이스에 대한 CONTROL 권한이 부여된 사용자는 데이터베이스의 모든 보안 개체에 대한 사용 권한을 취소할 수 있습니다.Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can revoke any permission on any securable in the database. 스키마에 대한 CONTROL 권한이 부여된 사용자는 스키마 내의 모든 개체에 대한 사용 권한을 취소할 수 있습니다.Grantees of CONTROL permission on a schema can revoke any permission on any object within the schema.

보안 개체별 구문 Securable-specific Syntax

다음 표에는 보안 개체와 보안 개체별 구문을 설명하는 항목 목록이 정리되어 있습니다.The following table lists the securables and the topics that describe the securable-specific syntax.

보안 개체Securable 항목Topic
응용 프로그램 역할Application Role REVOKE 데이터베이스 보안 주체 사용 권한 ( Transact SQL )REVOKE Database Principal Permissions (Transact-SQL)
어셈블리Assembly REVOKE 어셈블리 사용 권한 ( Transact SQL )REVOKE Assembly Permissions (Transact-SQL)
비대칭 키Asymmetric Key REVOKE 비대칭 키 사용 권한 ( Transact SQL )REVOKE Asymmetric Key Permissions (Transact-SQL)
가용성 그룹Availability Group REVOKE 가용성 그룹 사용 권한 ( Transact SQL )REVOKE Availability Group Permissions (Transact-SQL)
인증서Certificate REVOKE 인증서 권한 ( Transact SQL )REVOKE Certificate Permissions (Transact-SQL)
계약Contract REVOKE Service Broker 권한 ( Transact SQL )REVOKE Service Broker Permissions (Transact-SQL)
데이터베이스Database REVOKE 데이터베이스 사용 권한 ( Transact SQL )REVOKE Database Permissions (Transact-SQL)
끝점Endpoint REVOKE 끝점 사용 권한 ( Transact SQL )REVOKE Endpoint Permissions (Transact-SQL)
데이터베이스 범위 자격 증명Database Scoped Credential REVOKE 데이터베이스 범위 자격 증명 (Transact SQL)REVOKE Database Scoped Credential (Transact-SQL)
전체 텍스트 카탈로그Full-text Catalog REVOKE 전체 텍스트 사용 권한 ( Transact SQL )REVOKE Full-Text Permissions (Transact-SQL)
전체 텍스트 중지 목록Full-Text Stoplist REVOKE 전체 텍스트 사용 권한 ( Transact SQL )REVOKE Full-Text Permissions (Transact-SQL)
함수Function REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
로그인Login REVOKE 서버 보안 주체 사용 권한 ( Transact SQL )REVOKE Server Principal Permissions (Transact-SQL)
메시지 유형Message Type REVOKE Service Broker 권한 ( Transact SQL )REVOKE Service Broker Permissions (Transact-SQL)
개체Object REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
Queue REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
원격 서비스 바인딩Remote Service Binding REVOKE Service Broker 권한 ( Transact SQL )REVOKE Service Broker Permissions (Transact-SQL)
역할Role REVOKE 데이터베이스 보안 주체 사용 권한 ( Transact SQL )REVOKE Database Principal Permissions (Transact-SQL)
경로Route REVOKE Service Broker 권한 ( Transact SQL )REVOKE Service Broker Permissions (Transact-SQL)
스키마Schema REVOKE 스키마 사용 권한 ( Transact SQL )REVOKE Schema Permissions (Transact-SQL)
검색 속성 목록Search Property List 검색 속성 목록 사용 권한 ( 해지 Transact SQL )REVOKE Search Property List Permissions (Transact-SQL)
ServerServer REVOKE 서버 사용 권한 ( Transact SQL )REVOKE Server Permissions (Transact-SQL)
서비스Service REVOKE Service Broker 권한 ( Transact SQL )REVOKE Service Broker Permissions (Transact-SQL)
저장 프로시저Stored Procedure REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
대칭 키Symmetric Key REVOKE 대칭 키 사용 권한 ( Transact SQL )REVOKE Symmetric Key Permissions (Transact-SQL)
동의어Synonym REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
시스템 개체System Objects REVOKE 시스템 개체 사용 권한 ( Transact SQL )REVOKE System Object Permissions (Transact-SQL)
테이블Table REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
형식Type REVOKE 유형 사용 권한 ( Transact SQL )REVOKE Type Permissions (Transact-SQL)
사용자User REVOKE 데이터베이스 보안 주체 사용 권한 ( Transact SQL )REVOKE Database Principal Permissions (Transact-SQL)
보기View REVOKE 개체 사용 권한 ( Transact SQL )REVOKE Object Permissions (Transact-SQL)
XML 스키마 컬렉션XML Schema Collection REVOKE XML 스키마 컬렉션 사용 권한 ( Transact SQL )REVOKE XML Schema Collection Permissions (Transact-SQL)

관련 항목:See Also

사용 권한 계층(데이터베이스 엔진) Permissions Hierarchy (Database Engine)
DENY(Transact-SQL) DENY (Transact-SQL)
GRANT(Transact-SQL) GRANT (Transact-SQL)
sp_addlogin(Transact-SQL) sp_addlogin (Transact-SQL)
sp_adduser(Transact-SQL) sp_adduser (Transact-SQL)
sp_changedbowner ( Transact SQL ) sp_changedbowner (Transact-SQL)
sp_dropuser(Transact-SQL) sp_dropuser (Transact-SQL)
sp_helprotect( Transact SQL ) sp_helprotect (Transact-SQL)
sp_helpuser ( Transact SQL )sp_helpuser (Transact-SQL)