REVOKE-Objektberechtigungen (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Hebt Berechtigungen für eine Tabelle, Sicht, Tabellenwertfunktion, gespeicherte Prozedur, erweiterte gespeicherte Prozedur, Skalarfunktion, Aggregatfunktion, Dienstwarteschlange oder für ein Synonym auf.

Transact-SQL-Syntaxkonventionen

Syntax

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<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 Objekte, die Schemas als Bereiche besitzen, aufgehoben werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

ALL
Mit ALL werden nicht alle möglichen Berechtigungen aufgehoben. Das Aufheben von Berechtigungen mit ALL entspricht dem Aufheben aller ANSI-92-Berechtigungen, die für das angegebene Objekt gelten. Die Bedeutung von ALL variiert wie folgt:

Berechtigungen für Skalarwertfunktion: EXECUTE, REFERENCES.

Berechtigungen für Tabellenwertfunktion: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Berechtigungen für gespeicherte Prozedur: EXECUTE.

Tabellenberechtigungen: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Berechtigungen anzeigen: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

PRIVILEGES
Dient zur Kompatibilität mit ANSI-92. Ändert das Verhalten von ALL nicht.

column
Gibt den Namen einer Spalte in einer Tabelle, Sicht oder Tabellenwertfunktion an, für die die Berechtigung aufgehoben wird. Die Klammern () sind erforderlich. Für eine Spalte können nur die Berechtigungen SELECT, REFERENCES und UPDATE verweigert werden. column kann in der Berechtigungsklausel oder nach dem Namen des sicherungsfähigen Elements angegeben werden.

ON [ OBJECT :: ] [ schema_name ] . object_name
Gibt das Objekt an, für das die Berechtigung aufgehoben wird. Der OBJECT-Ausdruck ist optional, wenn schema_name angegeben ist. Wird der OBJECT-Ausdruck verwendet, ist der Bereichsqualifizierer (::) erforderlich. Wenn schema_name nicht angegeben ist, wird das Standardschema verwendet. Wenn schema_name angegeben ist, ist der Schemabereichsqualifizierer (.) erforderlich.

{ FROM | TO } <database_principal> Gibt den Prinzipal an, für den die Berechtigung widerrufen wird.

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
Gibt eine Anwendungsrolle an.

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

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

Database_user_mapped_to_certificate
Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.

Database_user_mapped_to_asymmetric_key
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

Informationen zu Objekten werden in unterschiedlichen Katalogsichten angezeigt. Weitere Informationen finden Sie unter Katalogsichten für Objekte (Transact-SQL).

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

Objektberechtigung Impliziert durch die Objektberechtigung Impliziert durch die Schemaberechtigung
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
Delete CONTROL Delete
Führen Sie CONTROL Führen Sie
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
TAKE OWNERSHIP CONTROL CONTROL
UPDATE CONTROL UPDATE
VIEW CHANGE TRACKING CONTROL VIEW CHANGE TRACKING
VIEW DEFINITION CONTROL VIEW DEFINITION

Berechtigungen

Erfordert die CONTROL-Berechtigung für das Objekt.

Falls die AS-Klausel verwendet wird, muss der angegebene Prinzipal der Besitzer des Objekts sein, für das Berechtigungen aufgehoben werden.

Beispiele

A. Aufheben der SELECT-Berechtigung für eine Tabelle

Im folgenden Beispiel wird die SELECT-Berechtigung für den Benutzer RosaQdM für die Person.Address-Tabelle in der AdventureWorks2022-Datenbank aufgehoben.

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Aufheben der EXECUTE-Berechtigung für eine gespeicherte Prozedur

Im folgenden Beispiel wird die EXECUTE-Berechtigung für die gespeicherte Prozedur HumanResources.uspUpdateEmployeeHireInfo für die Anwendungsrolle Recruiting11 aufgehoben.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. Aufheben der REFERENCES-Berechtigung für eine Sicht mit CASCADE

Im folgenden Beispiel wird die REFERENCES-Berechtigung für die BusinessEntityID-Spalte in der HumanResources.vEmployee-Sicht für den Benutzer Wanida mit CASCADE aufgehoben.

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Weitere Informationen

GRANT (Objektberechtigungen) (Transact-SQL)
DENY (Objektberechtigungen) (Transact-SQL)
Katalogsichten für Objekte (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Prinzipale (Datenbank-Engine)
Sicherungsfähige Elemente
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)