REVOKE Datenbankberechtigungen (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Hebt die Berechtigungen auf, die für eine Datenbank erteilt oder verweigert wurden.

Transact-SQL-Syntaxkonventionen

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
Gibt eine Berechtigung an, die für eine Datenbank verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

ALL
Mit dieser Option werden nicht alle möglichen Berechtigungen aufgehoben. Das Widerrufen von ALLEN entspricht dem Widerruf der folgenden Berechtigungen: BACKUPDATABASE, BACKUP LOG, CREATE DATABASE, , CREATE FUNCTIONCREATE DEFAULT, , CREATE PROCEDURE, CREATE RULE, CREATE TABLEund CREATE VIEW.

PRIVILEGES
Aus Gründen der Kompatibilität mit ISO eingeschlossen. Ändert das Verhalten von ALL nicht.

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

Important

Hat der Auftraggeber die angegebene Erlaubnis ohne diese GRANT Option, wird die Erlaubnis selbst widerrufen.

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

Caution

Ein kaskadierender Widerruf einer MIT GRANT OPTION erteilten Erlaubnis widerruft beide GRANT und DENY dieser Erlaubnis.

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.

Remarks

Die Aussage scheitert, wenn CASCADE nicht angegeben ist, wenn Sie einem Auftraggeber eine Erlaubnis widerrufen, der diese Erlaubnis mit der angegebenen GRANT OPTION erhalten hat.

Eine Datenbank ist ein sicherungsfähiges Element auf dem Server, der das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Datenbank aufgehoben werden können, sind in der folgenden Tabelle aufgeführt. Außerdem enthält die Tabelle die allgemeineren Berechtigungen, die implizit enthalten sind.

Datenbankberechtigung Impliziert durch Datenbankberechtigung Impliziert durch die Serverberechtigung
VERWALTEN VON DATABASE MASSENVORGÄNGEN
Gilt für: SQL-Datenbank
CONTROL Steuerungsserver
ALTER CONTROL JEDES ÄNDERN DATABASE
JEDES ÄNDERN APPLICATION ROLE ALTER Steuerungsserver
JEDES ÄNDERN ASSEMBLY ALTER Steuerungsserver
JEDES ÄNDERN ASYMMETRIC KEY ALTER Steuerungsserver
JEDES ÄNDERN CERTIFICATE ALTER Steuerungsserver
JEDES ÄNDERN COLUMN ENCRYPTION KEY ALTER Steuerungsserver
ÄNDERN SIE JEDE COLUMN MASTER KEY DEFINITION ALTER Steuerungsserver
JEDES ÄNDERN CONTRACT ALTER Steuerungsserver
ÄNDERN EINER BELIEBIGEN DATABASE ÜBERWACHUNG ALTER JEDES ÄNDERN SERVER AUDIT
ÄNDERN SIE JEDEN DATABASE DDL TRIGGER ALTER Steuerungsserver
ÄNDERN BELIEBIGEN DATABASEEVENT NOTIFICATION ALTER JEDES ÄNDERN EVENT NOTIFICATION
ÄNDERN BELIEBIGEN DATABASEEVENT SESSION
Gilt für: Azure SQL-Datenbank.
ALTER JEDES ÄNDERN EVENT SESSION
JEDES ÄNDERN DATABASE SCOPED CONFIGURATION
Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.
CONTROL Steuerungsserver
ÄNDERN EINES BELIEBIGEN DATENBEREICHS ALTER Steuerungsserver
JEDES ÄNDERN EXTERNAL DATA SOURCE ALTER Steuerungsserver
JEDES ÄNDERN EXTERNAL FILE FORMAT ALTER Steuerungsserver
JEDES ÄNDERN EXTERNAL LIBRARY
Gilt für: SQL Server 2017 (14.x).
CONTROL Steuerungsserver
JEDES ÄNDERN FULLTEXT CATALOG ALTER Steuerungsserver
BELIEBIGE MASKE ÄNDERN CONTROL Steuerungsserver
JEDES ÄNDERN MESSAGE TYPE ALTER Steuerungsserver
JEDES ÄNDERN REMOTE SERVICE BINDING ALTER Steuerungsserver
JEDES ÄNDERN ROLE ALTER Steuerungsserver
JEDES ÄNDERN ROUTE ALTER Steuerungsserver
JEDES ÄNDERN SCHEMA ALTER Steuerungsserver
JEDES ÄNDERN SECURITY POLICY
Gilt für: Azure SQL-Datenbank.
CONTROL Steuerungsserver
JEDES ÄNDERN SERVICE ALTER Steuerungsserver
JEDES ÄNDERN SYMMETRIC KEY ALTER Steuerungsserver
JEDES ÄNDERN USER ALTER Steuerungsserver
AUTHENTICATE CONTROL AUTHENTIFIZIEREN DES SERVERS
BACKUP DATABASE CONTROL Steuerungsserver
BACKUP PROTOKOLL CONTROL Steuerungsserver
CHECKPOINT CONTROL Steuerungsserver
CONNECT VERBINDUNGSREPLIKATION Steuerungsserver
VERBINDUNGSREPLIKATION CONTROL Steuerungsserver
CONTROL CONTROL Steuerungsserver
CREATE AGGREGATE ALTER Steuerungsserver
CREATE ASSEMBLY JEDES ÄNDERN ASSEMBLY Steuerungsserver
CREATE ASYMMETRIC KEY JEDES ÄNDERN ASYMMETRIC KEY Steuerungsserver
CREATE CERTIFICATE JEDES ÄNDERN CERTIFICATE Steuerungsserver
CREATE CONTRACT JEDES ÄNDERN CONTRACT Steuerungsserver
CREATE DATABASE CONTROL BELIEBIG ERSTELLEN DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ÄNDERN BELIEBIGEN DATABASEEVENT NOTIFICATION CREATE DDL EVENT NOTIFICATION
CREATE DEFAULT ALTER Steuerungsserver
CREATE FULLTEXT CATALOG JEDES ÄNDERN FULLTEXT CATALOG Steuerungsserver
CREATE FUNCTION ALTER Steuerungsserver
CREATE MESSAGE TYPE JEDES ÄNDERN MESSAGE TYPE Steuerungsserver
CREATE PROCEDURE ALTER Steuerungsserver
CREATE QUEUE ALTER Steuerungsserver
CREATE REMOTE SERVICE BINDING JEDES ÄNDERN REMOTE SERVICE BINDING Steuerungsserver
CREATE ROLE JEDES ÄNDERN ROLE Steuerungsserver
CREATE ROUTE JEDES ÄNDERN ROUTE Steuerungsserver
CREATE RULE ALTER Steuerungsserver
CREATE SCHEMA JEDES ÄNDERN SCHEMA Steuerungsserver
CREATE SERVICE JEDES ÄNDERN SERVICE Steuerungsserver
CREATE SYMMETRIC KEY JEDES ÄNDERN SYMMETRIC KEY Steuerungsserver
CREATE SYNONYM ALTER Steuerungsserver
CREATE TABLE ALTER Steuerungsserver
CREATE TYPE ALTER Steuerungsserver
CREATE VIEW ALTER Steuerungsserver
CREATE XML SCHEMA COLLECTION ALTER Steuerungsserver
DELETE CONTROL Steuerungsserver
EXECUTE CONTROL Steuerungsserver
AUSFÜHREN EINES BELIEBIGEN EXTERNEN SKRIPTS
Gilt für: SQL Server 2016 (13.x).
CONTROL Steuerungsserver
INSERT CONTROL Steuerungsserver
KILL-VERBINDUNG DATABASE
Gilt für: Azure SQL-Datenbank.
CONTROL ÄNDERN EINER BELIEBIGEN VERBINDUNG
REFERENCES CONTROL Steuerungsserver
SELECT CONTROL Steuerungsserver
SHOWPLAN CONTROL ALTER TRACE
ABONNIEREN VON ABFRAGEBENACHRICHTIGUNGEN CONTROL Steuerungsserver
ÜBERNEHMEN EIGENTUM CONTROL Steuerungsserver
UNMASK CONTROL Steuerungsserver
UPDATE CONTROL Steuerungsserver
VIEWJEDE DEFINITION COLUMN ENCRYPTION KEY CONTROL VIEW JEDE DEFINITION
VIEWJEDE DEFINITION COLUMN MASTER KEY CONTROL VIEW JEDE DEFINITION
VIEW DATABASE STAAT CONTROL VIEW SERVERSTATUS
VIEW DEFINITION CONTROL VIEW JEDE DEFINITION

Permissions

Der Prinzipal, der diese Anweisung ausführt (oder der mit der AS-Option angegebene Prinzipal) muss die CONTROL-Berechtigung für die Datenbank oder eine höhere Berechtigung besitzen, die die CONTROL-Berechtigung für die Datenbank impliziert.

Falls die AS-Option verwendet wird, muss der angegebene Prinzipal die Datenbank besitzen.

Examples

A. Aufheben der Berechtigung zum Erstellen von Zertifikaten

Im folgenden Beispiel wird die CREATE CERTIFICATE-Berechtigung für die AdventureWorks2025-Datenbank für den Benutzer MelanieK aufgehoben.

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

USE AdventureWorks2022;  
REVOKE CREATE CERTIFICATE FROM MelanieK;  
GO  

B. Aufheben der REFERENCES-Berechtigung für eine Anwendungsrolle

Im folgenden Beispiel wird die REFERENCES-Berechtigung für die AdventureWorks2025-Datenbank für die Anwendungsrolle AuditMonitor aufgehoben.

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

USE AdventureWorks2022;  
REVOKE REFERENCES FROM AuditMonitor;  
GO  

C. Widerruf VIEW der DEFINITION mit CASCADE

Im folgenden Beispiel wird die VIEW DEFINITION-Berechtigung für die AdventureWorks2025-Datenbank für Benutzer CarmineEs und für alle Prinzipale aufgehoben, denen die CarmineEs-Berechtigung von VIEW DEFINITION erteilt wurde.

USE AdventureWorks2022;  
REVOKE VIEW DEFINITION FROM CarmineEs CASCADE;  
GO  

Siehe auch

sys.database_permissions (Transact-SQL)
sys.database_principals (Transact-SQL)
GRANT Datenbankberechtigungen (Transact-SQL)
DENY Datenbankberechtigungen (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Prinzipale (Datenbank-Engine)