Freigeben über


DENY (Serverberechtigungen) (Transact-SQL)

Verweigert Berechtigungen für einen Server.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

DENY permission [ ,...n ] 
    TO <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 verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

  • CASCADE
    Gibt an, dass die verweigerte Berechtigung auch anderen Prinzipalen verweigert wird, denen sie von diesem Prinzipal erteilt wurde.

  • TO <server_principal>
    Gibt den Prinzipal an, für den die Berechtigung verweigert wird.

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

  • 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 Serverrolle an.

Hinweise

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

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 verweigert 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 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 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 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 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 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 bis aktuelle Version).

CONTROL SERVER

SELECT ALL USER SECURABLES

Gilt für: SQL Server (SQL Server 2014 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

Hinweise

Die folgenden drei Serverberechtigungen wurden in SQL Server 2014 hinzugefügt.

  • CONNECT ANY DATABASE -Berechtigung
    Erteilen Sie die CONNECT ANY DATABASE-Berechtigung einer Anmeldung, die eine Verbindung mit allen derzeit vorhandenen Datenbanken und allen zukünftig erstellten neuen Datenbanken herstellen muss. Gewährt keine Berechtigung für Datenbanken außer der Berechtigung zum Herstellen der Verbindung. Kombinieren Sie diese Berechtigung mit SELECT ALL USER SECURABLES oder VIEW SERVER STATE, um während eines Überwachungsprozesses die Anzeige aller Daten oder Datenbankstatusangaben für die SQL Server-Instanz zu ermöglichen.

  • IMPERSONATE ANY LOGIN -Berechtigung
    Wenn die Berechtigung erteilt wird, kann ein Prozess der mittleren Ebene beim Herstellen der Verbindung mit Datenbanken die Identität des Kontos von Clients annehmen, die eine Verbindung mit ihm herstellen. Wenn die Berechtigung verweigert wird, kann verhindert werden, dass ein Anmeldename mit hohen Privilegien die Identität anderer Anmeldenamen annimmt. Beispielsweise kann verhindert werden, dass eine Anmeldung mit einer CONTROL SERVER-Berechtigung die Identität anderer Anmeldungen annimmt.

  • SELECT ALL USER SECURABLES -Berechtigung
    Wenn sie erteilt wird, kann ein Anmeldename, z. B. ein Auditor, Daten in allen Datenbanken anzeigen, mit denen der Benutzer eine Verbindung herstellen kann. Wenn sie verweigert wird, wird der Zugriff auf alle Objekte, außer auf die Objekte im sys-Schema, verhindert.

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung oder den Besitz des sicherungsfähigen Elements. Falls die AS-Klausel verwendet wird, muss der angegebene Prinzipal der Besitzer des sicherungsfähigen Elements sein, für das Berechtigungen verweigert werden.

Beispiele

A.Verweigern der CONNECT SQL-Berechtigung für einen SQL Server-Anmeldenamen und für Prinzipale, denen der Anmeldename diese Berechtigung erteilt hat

Im folgenden Beispiel wird die CONNECT SQL-Berechtigung für den SQL Server-Anmeldenamen Annika und für die Prinzipale verweigert, denen diese Benutzerin die Berechtigung erteilt hat.

USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO

B.Verweigern der CREATE ENDPOINT-Berechtigung für einen SQL Server-Anmeldenamen mit der AS-Option

Im folgenden Beispiel wird die CREATE ENDPOINT-Berechtigung für den Benutzer ArifS verweigert. Im Beispiel wird die AS-Option verwendet, um MandarP als Prinzipal anzugeben, von dem der ausführende Prinzipal die Berechtigung zum Erteilen oder Verweigern der Berechtigung ableitet.

USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO

Siehe auch

Verweis

GRANT (Transact-SQL)

DENY (Transact-SQL)

DENY (Serverberechtigungen) (Transact-SQL)

REVOKE (Serverberechtigungen) (Transact-SQL)

sys.fn_builtin_permissions (Transact-SQL)

sys.fn_my_permissions (Transact-SQL)

HAS_PERMS_BY_NAME (Transact-SQL)

Konzepte

Berechtigungshierarchie (Datenbankmodul)