다음을 통해 공유


REVOKE 데이터베이스 사용 권한(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

데이터베이스에 대해 부여 및 거부된 사용 권한을 취소합니다.

Transact-SQL 구문 표기 규칙

Syntax

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ]    
    { TO | FROM } <database_principal> [ ,...n ]   
        [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=    
permission | ALL [ PRIVILEGES ]  
  
<database_principal> ::=   
      Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login    

Arguments

permission
데이터베이스에 대해 거부할 수 있는 사용 권한을 지정합니다. 사용 권한 목록은 이 항목의 뒤에 나오는 주의 섹션을 참조하세요.

ALL
이 옵션은 모든 가능한 사용 권한을 취소하지 않습니다. ALL을 취소하는 것은 다음 사용 권한을 취소하는 것과 동일합니다. BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE 및 CREATE VIEW.

PRIVILEGES
ISO 호환성을 위해 포함됩니다. ALL의 동작을 변경하지 않습니다.

보조금 옵션
지정한 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한이 취소됨을 나타냅니다. 사용 권한 자체는 취소되지 않습니다.

Important

보안 주체에 GRANT 옵션 없이 지정된 사용 권한이 있는 경우 사용 권한 자체가 취소됩니다.

CASCADE
사용 권한이 취소된 보안 주체에게 사용 권한을 부여 받거나 거부당한 다른 보안 주체의 사용 권한도 취소됨을 나타냅니다.

Caution

WITH GRANT OPTION을 부여 받은 사용 권한이 연계되어 취소되면 해당 사용 권한의 GRANT 및 DENY가 모두 취소됩니다.

AS <database_principal> 이 쿼리를 실행하는 보안 주체가 사용 권한을 부여하는 권한을 취소할 수 있는 다른 보안 주체를 지정합니다.

Database_user
데이터베이스 사용자를 지정합니다.

Database_role
데이터베이스 역할을 지정합니다.

Application_role
적용 대상: SQL Server 2008(10.0.x) 이상, SQL Database

애플리케이션 역할을 지정합니다.

Database_user_mapped_to_Windows_User
적용 대상: SQL Server 2008(10.0.x) 이상

Windows 사용자로 매핑된 데이터베이스 사용자를 지정합니다.

Database_user_mapped_to_Windows_Group
적용 대상: SQL Server 2008(10.0.x) 이상

Windows 그룹으로 매핑된 데이터베이스 사용자를 지정합니다.

Database_user_mapped_to_certificate
적용 대상: SQL Server 2008(10.0.x) 이상

인증서로 매핑된 데이터베이스 사용자를 지정합니다.

Database_user_mapped_to_asymmetric_key
적용 대상: SQL Server 2008(10.0.x) 이상

비대칭 키로 매핑된 데이터베이스 사용자를 지정합니다.

Database_user_with_no_login
해당 서버 수준의 보안 주체가 없는 데이터베이스 사용자를 지정합니다.

Remarks

GRANT OPTION을 지정하여 사용 권한이 부여된 보안 주체의 사용 권한을 취소할 경우 CASCADE를 지정하지 않으면 문이 실패합니다.

데이터베이스는 사용 권한 계층에서 해당 데이터베이스의 부모인 서버에 포함된 보안 개체입니다. 다음 표에는 데이터베이스에 대해 취소할 수 있는 가장 제한적인 특정 사용 권한이 의미상 이러한 사용 권한을 포함하는 보다 일반적인 사용 권한과 함께 나열되어 있습니다.

데이터베이스 권한 데이터베이스 사용 권한에 포함된 사용 권한 서버 사용 권한에 포함된 사용 권한
데이터베이스 대량 작업 관리
적용 대상: SQL Database.
CONTROL 제어 서버
ALTER CONTROL 모든 데이터베이스 변경
애플리케이션 역할 변경 권한 (ALTER ANY APPLICATION ROLE) ALTER 제어 서버
모든 어셈블리 수정 ALTER 제어 서버
ALTER ANY 비대칭 키 ALTER 제어 서버
모든 인증서 수정 ALTER 제어 서버
모든 열 암호화 키 변경 ALTER 제어 서버
어떤 열 마스터 키 정의 변경하기도 ALTER 제어 서버
모든 계약 변경 ALTER 제어 서버
모든 데이터베이스 감사 변경 ALTER 서버 감사 수정 권한 (ALTER ANY SERVER AUDIT)
모든 데이터베이스 DDL 트리거 변경 ALTER 제어 서버
ALTER ANY DATABASE 이벤트 알림 수정 ALTER 어떤 이벤트 알림이라도 변경
모든 데이터베이스 이벤트 세션 변경
적용 대상: Azure SQL Database.
ALTER 어떤 이벤트 세션 변경
모든 데이터베이스 범위 구성 변경
적용 대상: SQL Server 2016(13.x) 이상, SQL Database.
CONTROL 제어 서버
모든 DATASPACE 변경 ALTER 제어 서버
외부 데이터 소스 수정 권한 ALTER 제어 서버
외부 파일 형식 변경 권한 부여 ALTER 제어 서버
외부 라이브러리를 변경하기
적용 대상: SQL Server 2017(14.x).
CONTROL 제어 서버
모든 전문 검색 카탈로그 변경 ALTER 제어 서버
모든 마스크 변경 CONTROL 제어 서버
아무 메시지 형식 변경 ALTER 제어 서버
모든 원격 서비스 바인딩 변경 ALTER 제어 서버
모든 역할 변경 ALTER 제어 서버
모든 경로 변경 ALTER 제어 서버
스키마 변경 권한 부여 ALTER 제어 서버
모든 보안 정책 변경
적용 대상: Azure SQL Database.
CONTROL 제어 서버
모든 서비스를 변경 ALTER 제어 서버
임의의 대칭 키 수정 ALTER 제어 서버
모든 사용자 변경 ALTER 제어 서버
AUTHENTICATE CONTROL 서버 인증
데이터베이스 백업 CONTROL 제어 서버
백업 로그 CONTROL 제어 서버
CHECKPOINT CONTROL 제어 서버
CONNECT 복제 연결 제어 서버
복제 연결 CONTROL 제어 서버
CONTROL CONTROL 제어 서버
집계 생성 ALTER 제어 서버
어셈블리 생성 모든 어셈블리 수정 제어 서버
비대칭 키 만들기 ALTER ANY 비대칭 키 제어 서버
인증서 생성 모든 인증서 수정 제어 서버
계약 작성 모든 계약 변경 제어 서버
데이터베이스 생성 CONTROL 어떤 데이터베이스든 생성하기
데이터베이스 DDL 이벤트 알림 생성 ALTER ANY DATABASE 이벤트 알림 수정 CREATE DDL 이벤트 알림
기본값 생성 ALTER 제어 서버
전체 텍스트 카탈로그 만들기 모든 전문 검색 카탈로그 변경 제어 서버
함수 생성 ALTER 제어 서버
메시지 형식 만들기 아무 메시지 형식 변경 제어 서버
프로시저 생성 ALTER 제어 서버
큐 생성 ALTER 제어 서버
원격 서비스 바인딩 만들기 모든 원격 서비스 바인딩 변경 제어 서버
역할을 창조합니다 모든 역할 변경 제어 서버
경로 생성 모든 경로 변경 제어 서버
규칙 생성 ALTER 제어 서버
스키마 생성 스키마 변경 권한 부여 제어 서버
서비스 생성 모든 서비스를 변경 제어 서버
대칭 키 생성 임의의 대칭 키 수정 제어 서버
동의어 생성 ALTER 제어 서버
CREATE TABLE ALTER 제어 서버
유형 만들기 ALTER 제어 서버
보기 만들기 ALTER 제어 서버
XML 스키마 컬렉션 생성 ALTER 제어 서버
DELETE CONTROL 제어 서버
EXECUTE CONTROL 제어 서버
모든 외부 스크립트 실행
적용 대상: SQL Server 2016(13.x).
CONTROL 제어 서버
INSERT CONTROL 제어 서버
데이터베이스 연결 종료
적용 대상: Azure SQL Database.
CONTROL 모든 연결 변경
REFERENCES CONTROL 제어 서버
SELECT CONTROL 제어 서버
SHOWPLAN CONTROL ALTER TRACE
쿼리 알림 구독 CONTROL 제어 서버
소유권 CONTROL 제어 서버
UNMASK CONTROL 제어 서버
UPDATE CONTROL 제어 서버
열 암호화 키 정의 보기 CONTROL 모든 정의 보기
열 마스터 키 정의 보기 CONTROL 모든 정의 보기
데이터베이스 상태 보기 CONTROL 서버 상태 보기
정의 보기 CONTROL 모든 정의 보기

Permissions

이 문을 실행하는 보안 주체 또는 AS 옵션으로 지정된 보안 주체는 데이터베이스에 대한 CONTROL 권한 또는 데이터베이스에 대한 CONTROL 권한이 포함된 상위 사용 권한이 있어야 합니다.

AS 옵션을 사용하는 경우 지정한 보안 주체가 데이터베이스를 소유해야 합니다.

Examples

A. 인증서를 만들기 위해 사용 권한 취소

다음 예에서는 사용자 CREATE CERTIFICATE에서 AdventureWorks2025 데이터베이스에 대한 MelanieK 사용 권한을 취소합니다.

적용 대상: SQL Server 2008(10.0.x) 이상

USE AdventureWorks2022;  
REVOKE CREATE CERTIFICATE FROM MelanieK;  
GO  

B. 애플리케이션 역할에서 REFERENCES 사용 권한 취소

다음 예에서는 애플리케이션 역할 REFERENCES에서 AdventureWorks2025 데이터베이스에 대한 AuditMonitor 사용 권한을 취소합니다.

적용 대상: SQL Server 2008(10.0.x) 이상, SQL Database

USE AdventureWorks2022;  
REVOKE REFERENCES FROM AuditMonitor;  
GO  

C. CASCADE를 지정하여 VIEW DEFINITION 취소

다음 예에서는 사용자 VIEW DEFINITIONAdventureWorks2025CarmineEs 사용 권한을 부여한 모든 보안 주체로부터 CarmineEs 데이터베이스에 대한 VIEW DEFINITION 사용 권한을 취소합니다.

USE AdventureWorks2022;  
REVOKE VIEW DEFINITION FROM CarmineEs CASCADE;  
GO  

또한 참조하십시오

sys.database_permissions(Transact-SQL)
sys.database_principals(Transact-SQL)
GRANT 데이터베이스 사용 권한(Transact-SQL)
DENY 데이터베이스 사용 권한(Transact-SQL)
사용 권한(데이터베이스 엔진)
보안 주체(데이터베이스 엔진)