DENY (Transact-SQL)

Aktualisiert: 12. Dezember 2006

Verweigert einem Prinzipal eine Berechtigung. Verhindert, dass der Prinzipal die Berechtigung über seine Gruppen- oder Rollenmitgliedschaften erbt.

Syntax

Simplified syntax for DENY
DENY { ALL [ PRIVILEGES ] }
      | permission [ ( column [ ,...n ] ) ] [ ,...n ]
      [ ON [ class :: ] securable ] TO principal [ ,...n ] 
      [ CASCADE] [ AS principal ]

Argumente

  • ALL
    Mit dieser Option werden nicht alle möglichen Berechtigungen verweigert. Das Verweigern mit der Option ALL ist gleichbedeutend mit dem Verweigern der folgenden Berechtigungen.

    • Wenn das sicherungsfähige Element eine Datenbank ist, steht "ALL" für BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE und CREATE VIEW.
    • Wenn das sicherungsfähige Element eine Skalarfunktion ist, steht "ALL" für EXECUTE und REFERENCES.
    • Wenn das sicherungsfähige Element eine Tabellenwertfunktion ist, steht "ALL" für DELETE, INSERT, REFERENCES, SELECT und UPDATE.
    • Falls es sich beim sicherungsfähigen Element um eine gespeicherte Prozedur handelt, steht ALL für EXECUTE.
    • Wenn das sicherungsfähige Element eine Tabelle ist, steht "ALL" für DELETE, INSERT, REFERENCES, SELECT und UPDATE.
    • Wenn das sicherungsfähige Element eine Sicht ist, steht "ALL" für DELETE, INSERT, REFERENCES, SELECT und UPDATE.
  • PRIVILEGES
    Dient zur Kompatibilität mit SQL-92. Hiermit wird das Verhalten von ALL nicht geändert.
  • permission
    Der Name einer Berechtigung. Die gültigen Zuordnungen von Berechtigungen zu sicherungsfähigen Elementen sind in den im Folgenden aufgeführten untergeordneten Themen beschrieben.
  • column
    Gibt den Namen einer Spalte in einer Tabelle an, für die Berechtigungen verweigert werden. Die Klammern "()" sind erforderlich.
  • class
    Gibt die Klasse des sicherungsfähigen Elements an, für das die Berechtigung verweigert wird. Der Bereichsqualifizierer "::" ist erforderlich.
  • securable
    Gibt das sicherungsfähige Element an, für das die Berechtigung verweigert wird.
  • TO principal
    Der Name eines Prinzipals. Für welche Prinzipale Berechtigungen in einem sicherungsfähigen Element verweigert werden können, hängt von dem sicherungsfähigen Element ab. Gültige Kombinationen finden Sie in den weiter unten aufgeführten Themen zu sicherungsfähigen Elementen.
  • CASCADE
    Gibt an, dass die Berechtigung für den angegebenen Prinzipal und für alle anderen Prinzipale verweigert wird, denen diese Berechtigung von diesem Prinzipal erteilt wurde. Dies ist erforderlich, wenn der Prinzipal die GRANT OPTION-Berechtigung besitzt.
  • AS principal
    Gibt einen Prinzipal an, von dem der Prinzipal, der diese Anweisung ausführt, das Recht zum Verweigern der Berechtigung ableitet.

Hinweise

Die vollständige Syntax der DENY-Anweisungen ist komplex. Das obige Diagramm wurde vereinfacht, um die Aufmerksamkeit auf die Struktur zu lenken. Die vollständige Syntax zum Verweigern von Berechtigungen für bestimmte sicherungsfähige Elemente ist in den weiter unten aufgeführten Themen beschrieben.

Für DENY wird ein Fehler gemeldet, falls CASCADE nicht angegeben wird, wenn einem Prinzipal eine Berechtigung verweigert wird, die zusammen mit GRANT OPTION erteilt wurde.

Berechtigungen auf Spaltenebene haben Vorrang vor Objektberechtigungen. Wenn beispielsweise eine Zugriffsverweigerung auf ein Basisobjekt wie eine Tabelle angewendet wird und anschließend eine Zugriffsberechtigung auf eine der Spalten des Basisobjekts angewendet wird, hat der Berechtigte Zugriff auf die Spalte; der Zugriff auf das Basisobjekt wird hingegen nicht verweigert. Wenn jedoch sichergestellt werden soll, dass Berechtigungen auf Spaltenebene vorhanden sind, müssen sie nach den Berechtigungen für das Basisobjekt angewendet werden.

ms188338.note(de-de,SQL.90).gifHinweis:
Diese Inkonsistenz in der Berechtigungshierarchie wurde aus Gründen der Abwärtskompatibilität in SQL Server 2005 beibehalten. In einer zukünftigen Version wird sie entfernt werden.

Die gespeicherte Systemprozedur sp_helprotect gibt Informationen zu Berechtigungen für sicherungsfähige Elemente auf Datenbankebene zurück.

ms188338.Caution(de-de,SQL.90).gifVorsicht:
Durch das Verweigern der CONTROL-Berechtigung für eine Datenbank wird implizit die CONNECT-Berechtigung für die Datenbank verweigert. Ein Prinzipal, dem die CONTROL-Berechtigung für eine Datenbank verweigert wird, kann keine Verbindung mit dieser Datenbank herstellen. Mit demselben Token wird durch das Verweigern der CONTROL SERVER-Berechtigung implizit die CONNECT SQL-Berechtigung für den Server verweigert. Ein Prinzipal, dem die CONTROL SERVER-Berechtigung für einen Server verweigert wird, kann keine Verbindung mit diesem Server herstellen.

Berechtigungen

Der Aufrufer (oder der mit der Option AS angegebene Prinzipal) benötigt entweder die CONTROL-Berechtigung für das sicherungsfähige Element, oder eine höhere Berechtigung, die die CONTROL-Berechtigung für das sicherungsfähige Element impliziert. Wenn Sie die Option AS verwenden, muss der angegebene Prinzipal Besitzer des sicherungsfähigen Elements sein, für das eine Berechtigung verweigert wird.

Berechtigte der CONTROL SERVER-Berechtigung, wie z. B. Mitglieder der festen Serverrolle sysadmin, können jede beliebige Berechtigung für jedes beliebige sicherungsfähige Element auf dem Server verweigern. Berechtigte der CONTROL-Berechtigung für die Datenbank, wie z. B. Mitglieder der festen Datenbankrolle db_owner, können jede beliebige Berechtigung für jedes beliebige sicherungsfähige Element in der Datenbank verweigern. Berechtigte der CONTROL-Berechtigung für ein Schema können jede beliebige Berechtigung für jedes Objekt innerhalb des Schemas verweigern. Wenn Sie die AS-Klausel verwenden, muss der angegebene Prinzipal Besitzer des sicherungsfähigen Elements sein, für das Berechtigungen verweigert werden.

Beispiele

Informationen zur Syntax von sicherungsfähigen Elementen finden Sie in den folgenden Themen.

Anwendungsrolle

DENY (Berechtigungen für Datenbankprinzipal) (Transact-SQL)

Assembly

DENY-Assemblyberechtigungen (Transact-SQL)

Asymmetrischer Schlüssel

DENY-Berechtigungen für asymmetrischen Schlüssel (Transact-SQL)

Zertifikat

DENY (Zertifikatberechtigungen) (Transact-SQL)

Vertrag

DENY (Berechtigungen von Service Broker) (Transact-SQL)

Datenbank

DENY (Datenbankberechtigungen) (Transact-SQL)

Endpunkt

DENY (Endpunktberechtigungen) (Transact-SQL)

Volltextkatalog

DENY-Berechtigungen für Volltextkataloge (Transact-SQL)

Funktion

DENY (Objektberechtigungen) (Transact-SQL)

Login

DENY (Berechtigungen für Serverprinzipal) (Transact-SQL)

Nachrichtentyp

DENY (Berechtigungen von Service Broker) (Transact-SQL)

Objekt

DENY (Objektberechtigungen) (Transact-SQL)

Warteschlange

DENY (Objektberechtigungen) (Transact-SQL)

Remotedienstbindung

DENY (Berechtigungen von Service Broker) (Transact-SQL)

Rolle

DENY (Berechtigungen für Datenbankprinzipal) (Transact-SQL)

Route

DENY (Berechtigungen von Service Broker) (Transact-SQL)

Schema

DENY-Schemaberechtigungen (Transact-SQL)

Server

DENY (Serverberechtigungen) (Transact-SQL)

Dienst (auf Server)

DENY (Berechtigungen von Service Broker) (Transact-SQL)

Gespeicherte Prozedur

DENY (Objektberechtigungen) (Transact-SQL)

Symmetrischer Schlüssel

DENY (Berechtigungen für symmetrische Schlüssel) (Transact-SQL)

Synonym

DENY (Objektberechtigungen) (Transact-SQL)

Systemobjekte

DENY (Berechtigungen für Systemobjekte) (Transact-SQL)

Tabelle

DENY (Objektberechtigungen) (Transact-SQL)

Typ

DENY (Typberechtigungen) (Transact-SQL)

Benutzer

DENY (Berechtigungen für Datenbankprinzipal) (Transact-SQL)

Sicht

DENY (Objektberechtigungen) (Transact-SQL)

XML-Schemaauflistung

DENY (Berechtigungen für XML-Schemaauflistungen) (Transact-SQL)

Siehe auch

Verweis

DENY (Transact-SQL)
REVOKE (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Es wurde Inhalt hinzugefügt, mit dem der Vorrang der Berechtigungen auf Spaltenebene vor Objektberechtigungen erläutert wird.