REVOKE (Berechtigungen für Datenbankprinzipal) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Hebt Berechtigungen auf, die für einen Datenbankbenutzer, eine Datenbankrolle oder Anwendungsrolle erteilt oder verweigert wurden.

Transact-SQL-Syntaxkonventionen

Syntax

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]    
    ON   
    {  [ USER :: database_user ]  
       | [ ROLE :: database_role ]  
       | [ APPLICATION ROLE :: application_role ]  
    }  
    { FROM | TO } <database_principal> [ ,...n ]  
        [ CASCADE ]  
    [ AS <database_principal> ]  
  
<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   

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

permission
Gibt eine Berechtigung an, die für den Datenbankprinzipal aufgehoben werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

USER ::database_user
Gibt die Klasse und den Namen des Benutzers an, für den die Berechtigung aufgehoben wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.

ROLE ::database_role
Gibt die Klasse und den Namen der Rolle an, für die die Berechtigung aufgehoben wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.

APPLICATION ROLE ::application_role
Gilt für: SQL Server 2008 (10.0.x) und höher, SQL-Datenbank

Gibt die Klasse und den Namen der Anwendungsrolle an, für die die Berechtigung aufgehoben wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.

GRANT OPTION
Gibt an, dass das Recht zum Erteilen der angegebenen Berechtigung für andere Prinzipale aufgehoben wird. Die Berechtigung selbst wird nicht aufgehoben.

Wichtig

Falls der Prinzipal die angegebene Berechtigung ohne GRANT-Option besitzt, wird die Berechtigung selbst aufgehoben.

CASCADE
Gibt an, dass die aufgehobene Berechtigung auch für andere Prinzipale aufgehoben wird, denen sie von diesem Prinzipal erteilt oder verweigert wurde.

Achtung

Durch ein kaskadiertes Aufheben einer Berechtigung, die mit WITH GRANT OPTION erteilt wurde, werden sowohl GRANT als auch DENY für diese Berechtigung aufgehoben.

AS <database_principal> gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Widerrufen der Berechtigung ableitet.

Database_user
Gibt einen Datenbankbenutzer an.

Database_role
Gibt eine Datenbankrolle an.

Application_role
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank

Gibt eine Anwendungsrolle an.

Database_user_mapped_to_Windows_User
Gilt für: SQL Server 2008 (10.0.x) und höher

Gibt einen Datenbankbenutzer an, der einem Windows-Benutzer zugeordnet ist.

Database_user_mapped_to_Windows_Group
Gilt für: SQL Server 2008 (10.0.x) und höher

Gibt einen Datenbankbenutzer an, der einer Windows-Gruppe zugeordnet ist.

Database_user_mapped_to_certificate
Gilt für: SQL Server 2008 (10.0.x) und höher

Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.

Database_user_mapped_to_asymmetric_key
Gilt für: SQL Server 2008 (10.0.x) und höher

Gibt einen Datenbankbenutzer an, der einem asymmetrischen Schlüssel zugeordnet ist.

Database_user_with_no_login
Gibt einen Datenbankbenutzer ohne entsprechenden Prinzipal auf Serverebene an.

Bemerkungen

Berechtigungen für Datenbankbenutzer

Ein Datenbankbenutzer ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für einen Datenbankbenutzer aufgehoben werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.

Berechtigung für Datenbankbenutzer Impliziert durch die Berechtigung für Datenbankbenutzer Impliziert durch Datenbankberechtigung
CONTROL CONTROL CONTROL
IMPERSONATE CONTROL CONTROL
ALTER CONTROL ALTER ANY USER
VIEW DEFINITION CONTROL VIEW DEFINITION

Berechtigungen für Datenbankrollen

Eine Datenbankrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Datenbankrolle aufgehoben werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.

Berechtigung für Datenbankrollen Impliziert durch die Berechtigung für Datenbankrollen Impliziert durch Datenbankberechtigung
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL ALTER ANY ROLE
VIEW DEFINITION CONTROL VIEW DEFINITION

Berechtigungen für Anwendungsrollen

Eine Anwendungsrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Anwendungsrolle aufgehoben werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.

Berechtigung für Anwendungsrollen Impliziert durch die Berechtigung für Anwendungsrollen Impliziert durch Datenbankberechtigung
CONTROL CONTROL CONTROL
ALTER CONTROL ALTER ANY APPLICATION ROLE
VIEW DEFINITION CONTROL VIEW DEFINITION

Berechtigungen

Erfordert die CONTROL-Berechtigung für den angegebenen Prinzipal oder eine höhere Berechtigung, die die CONTROL-Berechtigung impliziert.

Empfänger der CONTROL-Berechtigung für eine Datenbank, wie z.B. Mitglieder der festen Datenbankrolle db_owner, können jede beliebige Berechtigung für jedes beliebige sicherungsfähige Element in der Datenbank erteilen.

Beispiele

A. Aufheben der CONTROL-Berechtigung für einen Benutzer für einen anderen Benutzer

Im folgenden Beispiel wird die CONTROL-Berechtigung für den AdventureWorks2022-Benutzer Wanida für den Benutzer RolandX aufgehoben.

USE AdventureWorks2022;  
REVOKE CONTROL ON USER::Wanida FROM RolandX;  
GO  

B. Aufheben der VIEW DEFINITION-Berechtigung für eine Rolle für einen Benutzer, dem diese Berechtigung mit GRANT OPTION erteilt wurde

Im folgenden Beispiel wird die VIEW DEFINITION-Berechtigung für die AdventureWorks2022-Rolle SammamishParking für den Datenbankbenutzer JinghaoLiu aufgehoben. Die CASCADE-Option ist angegeben, da dem Benutzer JinghaoLiu die VIEW DEFINITION-Berechtigung mit WITH GRANT OPTION erteilt wurde.

USE AdventureWorks2022;  
REVOKE VIEW DEFINITION ON ROLE::SammamishParking   
    FROM JinghaoLiu CASCADE;  
GO  

C. Aufheben der IMPERSONATE-Berechtigung für einen Benutzer für eine Anwendungsrolle

Im folgenden Beispiel wird die IMPERSONATE-Berechtigung für den Benutzer HamithaL für die AdventureWorks2022-Anwendungsrolle AccountsPayable17 aufgehoben.

Gilt für: SQL Server 2008 (10.0.x) und höher, SQL-Datenbank

USE AdventureWorks2022;  
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;  
GO    

Weitere Informationen

GRANT (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
DENY (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
GRANT (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Prinzipale (Datenbank-Engine)