REVOKE (Serverberechtigungen) (Transact-SQL)

Entfernt die GRANT- und DENY-Berechtigungen auf Serverebene.

Themenlink (Symbol)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

<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

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.

    Wichtiger HinweisWichtig

    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.

    VorsichtshinweisVorsicht

    Durch ein kaskadiertes Aufheben einer Berechtigung, die mit 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.

Hinweise

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 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 LINKED SERVER

CONTROL SERVER

ALTER ANY LOGIN

CONTROL SERVER

ALTER ANY SERVER AUDIT

CONTROL SERVER

ALTER RESOURCES

CONTROL SERVER

ALTER SERVER STATE

CONTROL SERVER

ALTER SETTINGS

CONTROL SERVER

ALTER TRACE

CONTROL SERVER

AUTHENTICATE SERVER

CONTROL SERVER

CONNECT SQL

CONTROL SERVER

CONTROL SERVER

CONTROL SERVER

CREATE ANY DATABASE

ALTER ANY DATABASE

CREATE DDL EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

CREATE ENDPOINT

ALTER ANY ENDPOINT

CREATE TRACE EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

EXTERNAL ACCESS ASSEMBLY

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 von 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.