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
SQL-Datenbank in Microsoft Fabric
Verweigert Berechtigungen, die einem Datenbankbenutzer, einer Datenbankrolle oder Anwendungsrolle in SQL Server erteilt wurden.
Transact-SQL-Syntaxkonventionen
Syntax
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<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 den Datenbankprinzipal verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
NUTZER ::database_user
Gibt die Klasse und den Namen des Benutzers an, für den die Berechtigung verweigert wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.
ROLLE ::database_role
Gibt die Klasse und den Namen der Rolle an, für die die Berechtigung verweigert wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.
ANWENDUNGSROLLE ::application_role
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
Gibt die Klasse und den Namen der Anwendungsrolle an, für die die Berechtigung verweigert wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.
CASCADE
Gibt an, dass die verweigerte Berechtigung auch anderen Prinzipalen verweigert wird, denen diese Berechtigung von diesem Prinzipal erteilt wurde.
AS <Datenbankprinzipal>
Gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Aufheben der Berechtigung ableitet.
Database_user
Gibt einen Datenbankbenutzer an.
Database_role
Gibt eine Datenbankrolle an.
Application_role
Gilt 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
Berechtigungen für Datenbankbenutzer
Ein Datenbankbenutzer ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für einen Datenbankbenutzer verweigert werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Datenbankbenutzer | Impliziert durch die Berechtigung für Datenbankbenutzer | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINES BELIEBIGEN BENUTZERS |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Berechtigungen für Datenbankrollen
Eine Datenbankrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Datenbankrolle verweigert werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Datenbankrollen | Impliziert durch die Berechtigung für Datenbankrollen | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ÜBERNEHMEN EIGENTUM | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINER BELIEBIGEN ROLLE |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Berechtigungen für Anwendungsrollen
Eine Anwendungsrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die für eine Anwendungsrolle verweigert werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Anwendungsrollen | Impliziert durch die Berechtigung für Anwendungsrollen | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINER BELIEBIGEN ANWENDUNGSROLLE |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Permissions
Erfordert die CONTROL-Berechtigung für den angegebenen Prinzipal oder eine höhere Berechtigung, die die CONTROL-Berechtigung impliziert.
Empfänger der CONTROL-Berechtigung in einer Datenbank, z. B. Mitglieder der festen Datenbankrolle db_owner, können jede Berechtigung für ein beliebiges sicherungsfähiges Element in der Datenbank verweigern.
Examples
A. Verweigern der CONTROL-Berechtigung eines Benutzers für einen anderen Benutzer
Das folgende Beispiel verweigert CONTROL die Berechtigung des AdventureWorks2025-Benutzers Wanida an Benutzer RolandX.
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Verweigern der VIEW DEFINITION-Berechtigung einer Rolle für einen Benutzer, dem diese Berechtigung mit GRANT OPTION erteilt wurde
Das folgende Beispiel verweigert die Berechtigung VIEW DEFINITION für die Rolle AdventureWorks2025 SammamishParking dem Datenbankbenutzer JinghaoLiu. Die CASCADE-Option ist angegeben, da dem Benutzer JinghaoLiu die VIEW DEFINITION-Berechtigung mit GRANT OPTION erteilt wurde.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Verweigern der IMPERSONATE-Berechtigung eines Benutzers für eine Anwendungsrolle
Das folgende Beispiel verweigert IMPERSONATE dem Benutzer HamithaL die Berechtigung für die AdventureWorks2025-Anwendungsrolle AccountsPayable17.
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Siehe auch
GRANT (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
REVOKE (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
BENUTZER ERSTELLEN (Transact-SQL)
ANWENDUNGSROLLE ERSTELLEN (Transact-SQL)
ROLLE ERSTELLEN (Transact-SQL)
ZUSCHUSS (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Prinzipale (Datenbank-Engine)