Freigeben über


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 Aufheben mit ALL entspricht dem Aufheben der folgenden Berechtigungen: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE und CREATE VIEW.

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

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

Important

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.

Caution

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.

Remarks

Die Anweisung erzeugt einen Fehler, wenn CASCADE beim Aufheben einer Berechtigung für einen Prinzipal, dem diese Berechtigung mit GRANT OPTION erteilt wurde, nicht angegeben ist.

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 BULK-OPERATIONEN IN DER DATENBANK
Gilt für: SQL-Datenbank
CONTROL Steuerungsserver
ALTER CONTROL ÄNDERN EINER BELIEBIGEN DATENBANK
ÄNDERN EINER BELIEBIGEN ANWENDUNGSROLLE ALTER Steuerungsserver
BELIEBIGE ASSEMBLY ÄNDERN ALTER Steuerungsserver
ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS ALTER Steuerungsserver
ÄNDERN EINES BELIEBIGEN ZERTIFIKATS ALTER Steuerungsserver
ÄNDERN EINES BELIEBIGEN SPALTENVERSCHLÜSSELUNGSSCHLÜSSELS ALTER Steuerungsserver
ÄNDERN EINER BELIEBIGEN SPALTENMASTERSCHLÜSSELDEFINITION ALTER Steuerungsserver
ÄNDERN EINES VERTRAGS ALTER Steuerungsserver
ÄNDERN EINER DATENBANKÜBERWACHUNG ALTER ÄNDERN EINER SERVERÜBERWACHUNG
ÄNDERN EINES DATENBANK-DDL-TRIGGERS ALTER Steuerungsserver
Benachrichtigungen zu Datenbankereignissen ändern ALTER JEDES EREIGNISBENACHRICHTIGUNG ÄNDERN
ÄNDERN EINER DATENBANK-EREIGNISSESSION
Gilt für: Azure SQL-Datenbank.
ALTER ÄNDERN EINER EREIGNISSITZUNG
ÄNDERN EINER DATENBANKBEREICHSKONFIGURATION
Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.
CONTROL Steuerungsserver
ÄNDERN EINES BELIEBIGEN DATENBEREICHS ALTER Steuerungsserver
ÄNDERE JEDE EXTERNE DATENQUELLE ALTER Steuerungsserver
ÄNDERN EINES BELIEBIGEN EXTERNEN DATEIFORMATS ALTER Steuerungsserver
ÄNDERN EINER BELIEBIGEN EXTERNEN BIBLIOTHEK
Gilt für: SQL Server 2017 (14.x).
CONTROL Steuerungsserver
ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS ALTER Steuerungsserver
BELIEBIGE MASKE ÄNDERN CONTROL Steuerungsserver
ÄNDERN EINES BELIEBIGEN NACHRICHTENTYPS ALTER Steuerungsserver
ÄNDERN JEDER REMOTE-DIENST-BINDUNG ALTER Steuerungsserver
ÄNDERN EINER BELIEBIGEN ROLLE ALTER Steuerungsserver
ÄNDERN EINER BELIEBIGEN ROUTE ALTER Steuerungsserver
ÄNDERN EINES BELIEBIGEN SCHEMAS ALTER Steuerungsserver
ÄNDERN EINER SICHERHEITSRICHTLINIE
Gilt für: Azure SQL-Datenbank.
CONTROL Steuerungsserver
ÄNDERE JEDEN DIENST ALTER Steuerungsserver
ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS ALTER Steuerungsserver
ÄNDERN EINES BELIEBIGEN BENUTZERS ALTER Steuerungsserver
AUTHENTICATE CONTROL AUTHENTIFIZIEREN DES SERVERS
SICHERUNGSDATENBANK CONTROL Steuerungsserver
SICHERUNGSPROTOKOLL CONTROL Steuerungsserver
CHECKPOINT CONTROL Steuerungsserver
CONNECT VERBINDUNGSREPLIKATION Steuerungsserver
VERBINDUNGSREPLIKATION CONTROL Steuerungsserver
CONTROL CONTROL Steuerungsserver
AGGREGAT ERSTELLEN ALTER Steuerungsserver
CREATE ASSEMBLY (Erstellen einer Assembly) BELIEBIGE ASSEMBLY ÄNDERN Steuerungsserver
ERSTELLEN EINES ASYMMETRISCHEN SCHLÜSSELS ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS Steuerungsserver
ZERTIFIKAT ERSTELLEN ÄNDERN EINES BELIEBIGEN ZERTIFIKATS Steuerungsserver
VERTRAG ERSTELLEN ÄNDERN EINES VERTRAGS Steuerungsserver
DATENBANK ERSTELLEN CONTROL BELIEBIGE DATENBANK ERSTELLEN
CREATE-DATABASE-DDL-Ereignisbenachrichtigung Benachrichtigungen zu Datenbankereignissen ändern Ddl-Ereignisbenachrichtigung erstellen
STANDARD ERSTELLEN ALTER Steuerungsserver
FULLTEXT-KATALOG ERSTELLEN ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS Steuerungsserver
CREATE-FUNKTION ALTER Steuerungsserver
NACHRICHTENTYP ERSTELLEN ÄNDERN EINES BELIEBIGEN NACHRICHTENTYPS Steuerungsserver
PROZEDUR ERSTELLEN ALTER Steuerungsserver
WARTESCHLANGE ERSTELLEN ALTER Steuerungsserver
ERSTELLEN EINER REMOTE-DIENSTBINDUNG ÄNDERN JEDER REMOTE-DIENST-BINDUNG Steuerungsserver
ROLLE ERSTELLEN ÄNDERN EINER BELIEBIGEN ROLLE Steuerungsserver
ROUTE ERSTELLEN ÄNDERN EINER BELIEBIGEN ROUTE Steuerungsserver
REGEL ERSTELLEN ALTER Steuerungsserver
SCHEMA ERSTELLEN ÄNDERN EINES BELIEBIGEN SCHEMAS Steuerungsserver
DIENST ERSTELLEN ÄNDERE JEDEN DIENST Steuerungsserver
SYMMETRISCHER SCHLÜSSEL ERSTELLEN ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS Steuerungsserver
SYNONYM ERSTELLEN ALTER Steuerungsserver
CREATE TABLE ALTER Steuerungsserver
TYPE ERSTELLEN ALTER Steuerungsserver
ANSICHT ERSTELLEN ALTER Steuerungsserver
ERSTELLEN EINER XML-SCHEMAAUFLISTUNG 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
Verbindung zur Datenbank beenden
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
ANZEIGEN EINER BELIEBIGEN SPALTENVERSCHLÜSSELUNGSSCHLÜSSELDEFINITION CONTROL Jede Definition ansehen
ANZEIGE JEDER SPALTEN-MASTERSCHLÜSSELDEFINITION CONTROL Jede Definition ansehen
DATENBANKSTATUS ANZEIGEN CONTROL SERVERSTATUS ANZEIGEN
Darstellungsdefinition CONTROL Jede Definition ansehen

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. Aufheben von VIEW 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)