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
Lehnt Berechtigungen für eine Datenbank in SQL Server ab.
Transact-SQL-Syntaxkonventionen
Syntax
DENY <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ CASCADE ]
[ AS <database_principal> ]
<permission> ::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission Gibt eine Berechtigung an, die für eine Datenbank verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
ALL Mit dieser Option werden nicht alle möglichen Berechtigungen verweigert. Das Verweigern mit der ALL-Option ist gleichbedeutend mit dem Verweigern der folgenden Berechtigungen: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE und CREATE VIEW.
PRIVILEGES Aus Gründen der Kompatibilität mit ISO eingeschlossen. Ändert das Verhalten von ALL nicht.
CASCADE Gibt an, dass die Berechtigung auch für andere Prinzipale verweigert wird, denen der angegebene Prinzipal diese Berechtigung erteilt hat.
AS <database_principal> Gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Verweigern der Berechtigung ableitet.
Database_user Gibt einen Datenbankbenutzer an.
Database_role Gibt eine Datenbankrolle an.
Application_roleGilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
Gibt eine Anwendungsrolle an.
Database_user_mapped_to_Windows_User Gibt einen Datenbankbenutzer an, der einem Windows-Benutzer zugeordnet ist.
Database_user_mapped_to_Windows_Group Gibt einen Datenbankbenutzer an, der einer Windows-Gruppe zugeordnet ist.
Database_user_mapped_to_certificate Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.
Database_user_mapped_to_asymmetric_key Gibt einen Datenbankbenutzer an, der einem asymmetrischen Schlüssel zugeordnet ist.
Database_user_with_no_login Gibt einen Datenbankbenutzer ohne entsprechenden Prinzipal auf Serverebene an.
Remarks
Eine Datenbank ist ein sicherungsfähiges Element auf dem Server, der das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Datenbank verweigert werden können, sind in der folgenden Tabelle aufgeführt. Außerdem enthält die Tabelle die allgemeineren Berechtigungen, die implizit enthalten sind.
| Datenbankberechtigung | Impliziert durch Datenbankberechtigung | Impliziert durch die Serverberechtigung |
|---|---|---|
| VERWALTEN VON BULK-OPERATIONEN IN DER DATENBANK Gilt für: SQL-Datenbank |
CONTROL | Steuerungsserver |
| ALTER | CONTROL | ÄNDERN EINER BELIEBIGEN DATENBANK |
| ÄNDERN EINER BELIEBIGEN ANWENDUNGSROLLE | ALTER | Steuerungsserver |
| BELIEBIGE ASSEMBLY ÄNDERN | ALTER | Steuerungsserver |
| ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS | ALTER | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN ZERTIFIKATS | ALTER | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN SPALTENVERSCHLÜSSELUNGSSCHLÜSSELS | ALTER | Steuerungsserver |
| ÄNDERN EINER BELIEBIGEN SPALTENMASTERSCHLÜSSELDEFINITION | ALTER | Steuerungsserver |
| ÄNDERN EINES VERTRAGS | ALTER | Steuerungsserver |
| ÄNDERN EINER DATENBANKÜBERWACHUNG | ALTER | ÄNDERN EINER SERVERÜBERWACHUNG |
| ÄNDERN EINES DATENBANK-DDL-TRIGGERS | ALTER | Steuerungsserver |
| Benachrichtigungen zu Datenbankereignissen ändern | ALTER | JEDES EREIGNISBENACHRICHTIGUNG ÄNDERN |
| ÄNDERN EINER DATENBANK-EREIGNISSESSION Gilt für: Azure SQL-Datenbank. |
ALTER | ÄNDERN EINER EREIGNISSITZUNG |
| ÄNDERN EINER DATENBANKBEREICHSKONFIGURATION Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank. |
CONTROL | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN DATENBEREICHS | ALTER | Steuerungsserver |
| ÄNDERE JEDE EXTERNE DATENQUELLE | ALTER | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN EXTERNEN DATEIFORMATS | ALTER | Steuerungsserver |
| ÄNDERN EINER BELIEBIGEN EXTERNEN BIBLIOTHEK Gilt für: SQL Server 2017 (14.x). |
CONTROL | Steuerungsserver |
| ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS | ALTER | Steuerungsserver |
| BELIEBIGE MASKE ÄNDERN | CONTROL | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN NACHRICHTENTYPS | ALTER | Steuerungsserver |
| ÄNDERN JEDER REMOTE-DIENST-BINDUNG | ALTER | Steuerungsserver |
| ÄNDERN EINER BELIEBIGEN ROLLE | ALTER | Steuerungsserver |
| ÄNDERN EINER BELIEBIGEN ROUTE | ALTER | Steuerungsserver |
| ÄNDERN EINER SICHERHEITSRICHTLINIE Gilt für: SQL Server 2016 (13.x) und höher, Azure SQL-Datenbank. |
CONTROL | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN SCHEMAS | ALTER | Steuerungsserver |
| ÄNDERE JEDEN DIENST | ALTER | Steuerungsserver |
| ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS | ALTER | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN BENUTZERS | ALTER | Steuerungsserver |
| AUTHENTICATE | CONTROL | AUTHENTIFIZIEREN DES SERVERS |
| SICHERUNGSDATENBANK | CONTROL | Steuerungsserver |
| SICHERUNGSPROTOKOLL | CONTROL | Steuerungsserver |
| CHECKPOINT | CONTROL | Steuerungsserver |
| CONNECT | VERBINDUNGSREPLIKATION | Steuerungsserver |
| VERBINDUNGSREPLIKATION | CONTROL | Steuerungsserver |
| CONTROL | CONTROL | Steuerungsserver |
| AGGREGAT ERSTELLEN | ALTER | Steuerungsserver |
| CREATE ASSEMBLY (Erstellen einer Assembly) | BELIEBIGE ASSEMBLY ÄNDERN | Steuerungsserver |
| ERSTELLEN EINES ASYMMETRISCHEN SCHLÜSSELS | ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS | Steuerungsserver |
| ZERTIFIKAT ERSTELLEN | ÄNDERN EINES BELIEBIGEN ZERTIFIKATS | Steuerungsserver |
| VERTRAG ERSTELLEN | ÄNDERN EINES VERTRAGS | Steuerungsserver |
| DATENBANK ERSTELLEN | CONTROL | BELIEBIGE DATENBANK ERSTELLEN |
| CREATE-DATABASE-DDL-Ereignisbenachrichtigung | Benachrichtigungen zu Datenbankereignissen ändern | Ddl-Ereignisbenachrichtigung erstellen |
| STANDARD ERSTELLEN | ALTER | Steuerungsserver |
| FULLTEXT-KATALOG ERSTELLEN | ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS | Steuerungsserver |
| CREATE-FUNKTION | ALTER | Steuerungsserver |
| NACHRICHTENTYP ERSTELLEN | ÄNDERN EINES BELIEBIGEN NACHRICHTENTYPS | Steuerungsserver |
| PROZEDUR ERSTELLEN | ALTER | Steuerungsserver |
| WARTESCHLANGE ERSTELLEN | ALTER | Steuerungsserver |
| ERSTELLEN EINER REMOTE-DIENSTBINDUNG | ÄNDERN JEDER REMOTE-DIENST-BINDUNG | Steuerungsserver |
| ROLLE ERSTELLEN | ÄNDERN EINER BELIEBIGEN ROLLE | Steuerungsserver |
| ROUTE ERSTELLEN | ÄNDERN EINER BELIEBIGEN ROUTE | Steuerungsserver |
| REGEL ERSTELLEN | ALTER | Steuerungsserver |
| SCHEMA ERSTELLEN | ÄNDERN EINES BELIEBIGEN SCHEMAS | Steuerungsserver |
| DIENST ERSTELLEN | ÄNDERE JEDEN DIENST | Steuerungsserver |
| SYMMETRISCHER SCHLÜSSEL ERSTELLEN | ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS | Steuerungsserver |
| SYNONYM ERSTELLEN | ALTER | Steuerungsserver |
| CREATE TABLE | ALTER | Steuerungsserver |
| TYPE ERSTELLEN | ALTER | Steuerungsserver |
| ANSICHT ERSTELLEN | ALTER | Steuerungsserver |
| ERSTELLEN EINER XML-SCHEMAAUFLISTUNG | ALTER | Steuerungsserver |
| DELETE | CONTROL | Steuerungsserver |
| EXECUTE | CONTROL | Steuerungsserver |
| AUSFÜHREN EINES BELIEBIGEN EXTERNEN SKRIPTS Gilt für: SQL Server 2016 (13.x). |
CONTROL | Steuerungsserver |
| INSERT | CONTROL | Steuerungsserver |
| Verbindung zur Datenbank beenden Gilt für: Azure SQL-Datenbank. |
CONTROL | ÄNDERN EINER BELIEBIGEN VERBINDUNG |
| REFERENCES | CONTROL | Steuerungsserver |
| SELECT | CONTROL | Steuerungsserver |
| SHOWPLAN | CONTROL | ALTER TRACE |
| ABONNIEREN VON ABFRAGEBENACHRICHTIGUNGEN | CONTROL | Steuerungsserver |
| ÜBERNEHMEN EIGENTUM | CONTROL | Steuerungsserver |
| UNMASK | CONTROL | Steuerungsserver |
| UPDATE | CONTROL | Steuerungsserver |
| ANZEIGEN EINES BELIEBIGEN SPALTENVERSCHLÜSSELUNGSSCHLÜSSELS | CONTROL | Jede Definition ansehen |
| ANZEIGEN EINER BELIEBIGEN MASTERSCHLÜSSELDEFINITION | CONTROL | Jede Definition ansehen |
| DATENBANKSTATUS ANZEIGEN | CONTROL | SERVERSTATUS ANZEIGEN |
| Darstellungsdefinition | CONTROL | Jede Definition ansehen |
Permissions
Der Prinzipal, der diese Anweisung ausführt (oder der mit der AS-Option angegebene Prinzipal) muss die CONTROL-Berechtigung für die Datenbank oder eine höhere Berechtigung besitzen, die die CONTROL-Berechtigung für die Datenbank impliziert.
Falls die AS-Option verwendet wird, muss der angegebene Prinzipal die Datenbank besitzen.
Examples
A. Verweigern der Berechtigung zum Erstellen von Zertifikaten
Im folgenden Beispiel wird die CREATE CERTIFICATE-Berechtigung für die AdventureWorks2025-Datenbank für den Benutzer MelanieK verweigert.
USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO
B. Verweigern der REFERENCES-Berechtigung für eine Anwendungsrolle
Im folgenden Beispiel wird die REFERENCES-Berechtigung für die AdventureWorks2025-Datenbank für die Anwendungsrolle AuditMonitor verweigert.
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO
C. Verweigern von VIEW DEFINITION mit CASCADE
Im folgenden Beispiel wird die Berechtigung VIEW DEFINITION für die Datenbank AdventureWorks2025 für Benutzer CarmineEs und für alle Prinzipale verweigert, denen von CarmineEs die Berechtigung VIEW DEFINITION erteilt wurde.
USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO