Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Entfernt eine zuvor erteilte oder verweigerte Berechtigung.
Transact-SQL-Syntaxkonventionen
Syntax
Syntax für SQL Server-, Azure SQL-Datenbank- und Fabric SQL-Datenbank
-- Simplified syntax for REVOKE
REVOKE [ GRANT OPTION FOR ]
{
[ ALL [ PRIVILEGES ] ]
|
permission [ ( column [ ,...n ] ) ] [ ,...n ]
}
[ ON [ class :: ] securable ]
{ TO | FROM } principal [ ,...n ]
[ CASCADE] [ AS principal ]
Syntax für Azure Synapse Analytics, Parallel Data Warehouse und Microsoft Fabric Warehouse
REVOKE
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
[ FROM | TO ] principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
GRANT OPTION FÜR
Gibt an, dass die Fähigkeit, die angegebene Berechtigung zu erteilen, aufgehoben wird. Dies ist bei Verwendung des CASCADE-Arguments erforderlich.
Important
Hat der Auftraggeber die angegebene Erlaubnis ohne diese GRANT Option, wird die Erlaubnis selbst widerrufen.
ALL
Gilt für: SQL Server 2008 (10.0.x) und höher
Mit dieser Option werden nicht alle möglichen Berechtigungen aufgehoben. Das Aufheben mit ALL entspricht dem Aufheben der folgenden Berechtigungen.
Wenn die sichere Datenbank ist, bedeutet BACKUPDATABASEALL , BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, , CREATE RULE, , CREATE TABLEund CREATE VIEW.
Falls es sich beim sicherungsfähigen Element um eine skalare Funktion handelt, schließt ALL die Berechtigungen EXECUTE und REFERENCES ein.
Ist die Securable eine tabellenwertige Funktion, bedeutet DELETEALL , INSERT, REFERENZEN, SELECT und UPDATE.
Falls es sich beim sicherungsfähigen Element um eine gespeicherte Prozedur handelt, steht ALL für EXECUTE.
Wenn die Securable eine Tabelle ist, bedeutet DELETEALL , INSERT, REFERENZEN, SELECT und UPDATE.
Wenn das Securable eine Ansicht ist, bedeutet DELETEALL , INSERT, REFERENZEN, SELECT und UPDATE.
Note
Die ALL-Syntax REVOKE ist veraltet. Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Widerrufen Sie stattdessen einzelne Berechtigungen.
PRIVILEGES
Aus Gründen der Kompatibilität mit ISO eingeschlossen. Ändert das Verhalten von ALL nicht.
permission
Der Name einer Berechtigung. Die gültigen Zuordnungen von Berechtigungen zu sicherungsfähigen Elementen werden in den Artikeln beschrieben, die unter Für sicherungsfähige Elemente spezifische Syntax weiter unten in diesem Thema aufgelistet werden.
column
Gibt den Namen einer Spalte in einer Tabelle an, für die Berechtigungen aufgehoben werden. Die Klammern sind erforderlich.
class
Gibt die Klasse des sicherungsfähigen Elements an, für das die Berechtigung aufgehoben wird. Der Bereichsqualifizierer :: ist erforderlich.
securable
Gibt das sicherungsfähige Element an, für das die Berechtigung aufgehoben wird.
AN | FROM-Prinzipal
Der Name eines Prinzipals. Die Prinzipale, für die Berechtigungen für ein sicherungsfähiges Element aufgehoben werden können, sind abhängig vom jeweiligen sicherungsfähigen Element unterschiedlich. Weitere Informationen zu gültigen Kombinationen finden Sie in den Themen, die unter Für sicherungsfähige Elemente spezifische Syntax weiter unten in diesem Artikel aufgelistet werden.
CASCADE
Gibt an, dass die aufgehobene Berechtigung auch für andere Prinzipale aufgehoben wird, denen sie von diesem Prinzipal erteilt wurde. Wenn Sie das CASCADE-Argument verwenden, müssen Sie auch das GRANT OPTION FOR-Argument einfügen.
Caution
Ein kaskadierender Widerruf einer MIT GRANT OPTION erteilten Erlaubnis widerruft beide GRANT und DENY dieser Erlaubnis.
AS Schulleiter
Verwenden Sie die Prinzipalklausel AS, um anzugeben, dass Sie eine Berechtigung aufheben, die von einem anderen Prinzipal erteilt wurde. Nehmen Sie beispielsweise an, dass die Benutzerin Mary der principal_id 12 und der Benutzer Raul der principal_id 15 entspricht. Die Benutzer Mary und Raul erteilen dem Benutzer Steven die gleiche Berechtigung. Dann gibt die Tabelle „sys.database_permissions“ die Berechtigungen zweimal an, jedoch mit einem jeweils anderen Wert für „grantor_principal_id“. Mary könnte in diesem Fall die Klausel AS RAUL verwenden, um die von Raul erteilten Berechtigungen zu entfernen.
In dieser Anweisung impliziert die Verwendung von AS nicht die Fähigkeit, die Identität eines anderen Benutzers anzunehmen.
Remarks
Die vollständige Syntax der REVOKE Anweisung ist komplex. Das Syntaxdiagramm oben wurde vereinfacht, um die Struktur hervorzuheben. Die vollständige Syntax zum Aufheben von Berechtigungen für bestimmte sicherungsfähige Elemente wird in den Artikeln beschrieben, die unter Für sicherungsfähige Elemente spezifische Syntax weiter unten in diesem Artikel aufgelistet werden.
Die REVOKE Anweisung kann verwendet werden, um erteilte Berechtigungen zu entfernen, und die DENY Anweisung kann verwendet werden, um zu verhindern, dass ein Prinzipal eine bestimmte Berechtigung über eine .GRANT
Das Erteilen einer Berechtigung entfernt DENY oder REVOKE von dieser Berechtigung für die angegebene sicherungsfähige Berechtigung. Wenn dieselbe Berechtigung in einem höheren Bereich verweigert wird, der die sicherungsfähige Berechtigung enthält, hat dies DENY Vorrang. Das Aufheben der erteilten Berechtigung in einem höheren Bereich hat dagegen keinen Vorrang.
Caution
Eine Tabellenebene DENY hat keine Vorrang vor einer Spaltenebene GRANT. Diese Inkonsistenz in der Berechtigungshierarchie wurde aus Gründen der Abwärtskompatibilität beibehalten. Dieses Element wird in einer späteren Version entfernt.
Die gespeicherte Systemprozedur sp_helprotect gibt Informationen zu Berechtigungen für ein sicherungsfähiges Element auf Datenbankebene zurück.
Die Aussage REVOKE scheitert, wenn CASCADE nicht angegeben ist, wenn Sie eine Erlaubnis eines Auftraggebers widerrufen, der diese Erlaubnis mit GRANT OPTION angegeben hat.
Permissions
Prinzipale mit CONTROL-Berechtigung für ein sicherungsfähiges Element können die Berechtigung für dieses sicherungsfähige Element aufheben. Objektbesitzer können Berechtigungen für die Objekte aufheben, die sie besitzen.
Empfänger der CONTROL SERVER-Berechtigung, z. B. Mitglieder der festen Serverrolle sysadmin, können jede Berechtigung für ein beliebiges sicherungsfähiges Element auf dem Server aufheben. Empfänger der CONTROL SERVER-Berechtigung in einer Datenbank, z. B. Mitglieder der festen Datenbankrolle db_owner, können jede Berechtigung für ein beliebiges sicherungsfähiges Element in der Datenbank aufheben. Empfänger der CONTROL-Berechtigung in einem Schema können jede Berechtigung für jedes Objekt im Schema aufheben.
Securable-spezifische Syntax
In der folgenden Tabelle sind die sicherungsfähigen Elemente und Themen aufgeführt, in denen die für ein sicherungsfähiges Element spezifische Syntax beschrieben wird.
Examples
A. Erteilen und Widerrufen
Anwendungsbereich: SQL Server, SQL-Datenbank
Im folgenden Beispiel wird ein Schema, ein eigenständiger Datenbankbenutzer sowie eine neue Rolle in einer Benutzerdatenbank erstellt. Dabei wird der Benutzer sowie die SELECT-Berechtigung im Schema der Rolle hinzugefügt, und anschließend wird diese Berechtigung für die Rolle entfernt (REVOKE).
CREATE SCHEMA Sales;
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe;
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
Siehe auch
Berechtigungshierarchie (Datenbank-Engine)
DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)