Freigeben über


REVOKE (Serverberechtigungen) (Transact-SQL)

Gilt für: SQL Server Azure SQL Managed Instance

Entfernt die GRANT- und DENY-Berechtigungen auf Serverebene.

Transact-SQL-Syntaxkonventionen

Syntax

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ]   
    { TO | FROM } <grantee_principal> [ ,...n ]  
        [ CASCADE ]  
    [ AS <grantor_principal> ]   
  
<grantee_principal> ::= SQL_Server_login   
        | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  
  
<grantor_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  

Argumente

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

{ TO | FROM } <grantee_principal> gibt den Prinzipal an, für den die Berechtigung aufgehoben wird.

AS <grantor_principal> gibt den Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Aufheben der Berechtigung ableitet.

GRANT OPTION FOR
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.

SQL_Server_login
Gibt einen SQL Server-Anmeldenamen an.

SQL_Server_login_mapped_to_Windows_login
Gibt einen SQL Server-Anmeldenamen an, der einem Windows-Anmeldenamen zugeordnet ist.

SQL_Server_login_mapped_to_Windows_group
Gibt einen SQL Server-Anmeldenamen an, der einer Windows-Gruppe zugeordnet ist.

SQL_Server_login_mapped_to_certificate
Gibt einen SQL Server-Anmeldenamen an, der einem Zertifikat zugeordnet ist.

SQL_Server_login_mapped_to_asymmetric_key
Gibt einen SQL Server-Anmeldenamen an, der einem asymmetrischen Schlüssel zugeordnet ist.

server_role
Gibt eine benutzerdefinierte Serverrolle an.

Bemerkungen

Berechtigungen im Serverbereich können nur aufgehoben werden, wenn master als aktuelle Datenbank verwendet wird.

Mit REVOKE wird sowohl die GRANT- als auch die DENY-Berechtigung entfernt.

Verwenden Sie REVOKE GRANT OPTION FOR, um das Recht, die angegebene Berechtigung anderen Prinzipalen zu erteilen, ebenfalls aufzuheben. Falls der Prinzipal die Berechtigung mit dem Recht zum Erteilen der Berechtigung an andere Prinzipale besitzt, wird das Recht zum Erteilen der Berechtigung aufgehoben, die Berechtigung selbst wird jedoch nicht aufgehoben. Falls der Prinzipal die angegebene Berechtigung jedoch ohne GRANT OPTION besitzt, wird die Berechtigung selbst aufgehoben.

Informationen zu Serverberechtigungen werden in der sys.server_permissions-Katalogsicht und Informationen zu Serverprinzipalen in der sys.server_principals-Katalogsicht angezeigt. Informationen zur Mitgliedschaft von Serverrollen werden in der sys.server_role_members-Katalogsicht angezeigt.

Ein Server stellt die höchste Ebene der Berechtigungshierarchie dar. Die spezifischsten und restriktivsten Berechtigungen, die für einen Server aufgehoben werden können, sind in der folgenden Tabelle aufgeführt.

Serverberechtigung Impliziert durch die Serverberechtigung
ADMINISTER BULK OPERATIONS CONTROL SERVER
ALTER ANY AVAILABILITY GROUP

Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version).
CONTROL SERVER
ALTER ANY CONNECTION CONTROL SERVER
ALTER ANY CREDENTIAL CONTROL SERVER
ALTER ANY DATABASE CONTROL SERVER
ALTER ANY ENDPOINT CONTROL SERVER
ALTER ANY EVENT NOTIFICATION CONTROL SERVER
ALTER ANY EVENT SESSION CONTROL SERVER
ALTER ANY LINKED SERVER CONTROL SERVER
ALTER ANY LOGIN CONTROL SERVER
ALTER ANY SERVER AUDIT CONTROL SERVER
ALTER ANY SERVER ROLE

Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version).
CONTROL SERVER
ALTER RESOURCES CONTROL SERVER
ALTER SERVER STATE CONTROL SERVER
ALTER SETTINGS CONTROL SERVER
ALTER TRACE CONTROL SERVER
AUTHENTICATE SERVER CONTROL SERVER
CONNECT ANY DATABASE

Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version).
CONTROL SERVER
CONNECT SQL CONTROL SERVER
CONTROL SERVER CONTROL SERVER
CREATE ANY DATABASE ALTER ANY DATABASE
CREATE AVAILABILITY GROUP

Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version).
ALTER ANY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
CREATE ENDPOINT ALTER ANY ENDPOINT
CREATE SERVER ROLE

Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version).
ALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLY CONTROL SERVER
IMPERSONATE ANY LOGIN

Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version).
CONTROL SERVER
SELECT ALL USER SECURABLES

Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version).
CONTROL SERVER
SHUTDOWN CONTROL SERVER
UNSAFE ASSEMBLY CONTROL SERVER
VIEW ANY DATABASE VIEW ANY DEFINITION
VIEW ANY DEFINITION CONTROL SERVER
VIEW SERVER STATE ALTER SERVER STATE

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung oder die Mitgliedschaft in der festen Serverrolle sysadmin.

Beispiele

A. Aufheben einer Berechtigung für einen Anmeldenamen

Im folgenden Beispiel wird die VIEW SERVER STATE-Berechtigung für den SQL Server-Anmeldenamen WanidaBenshoof aufgehoben.

USE master;  
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;  
GO  

B. Aufheben der WITH GRANT OPTION

Im folgenden Beispiel wird das Recht zum Erteilen der CONNECT SQL-Berechtigung für den SQL Server-Anmeldenamen JanethEsteves aufgehoben.

USE master;  
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;  
GO  

Der Anmeldename besitzt weiterhin die CONNECT SQL-Berechtigung, er kann diese Berechtigung jedoch anderen Prinzipalen nicht mehr erteilen.

Weitere Informationen

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY (Serverberechtigungen) (Transact-SQL)
REVOKE (Serverberechtigungen) (Transact-SQL)
Berechtigungshierarchie (Datenbank-Engine)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)