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 Managed Instance
Verweigert Berechtigungen für einen Server.
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
Erlaubnis
Gibt eine Berechtigung an, die für einen Server verweigert werden kann. Eine Liste der Berechtigungen finden Sie in den Hinweisen.
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. Erforderlich, wenn der Schulleiter die Erlaubnis mit GRANT OPTIONhat.
TO <Dienstprinzipal>
Gibt den Prinzipal an, für den die Berechtigung verweigert wird.
AS <gewährender_Prinzipal>
Gibt den Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Verweigern der Berechtigung ableitet.
Verwenden Sie die AS Hauptklausel, um anzugeben, dass der als Leugner der Erlaubnis eingetragene Hauptprinzipal ein anderer Auftraggeber sein sollte als die Person, die die Aussage ausführt. Zum Beispiel nehmen wir an, dass Nutzer Mary 12 ist principal_id und Nutzer Raul Schulleiter 15. Mary führt DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; aus. Nun zeigt die sys.database_permissions Tabelle an, dass die grantor_principal_id der Ablehnungsaussage 15 (Raul) war, obwohl die Aussage tatsächlich von Nutzer 13 (Mary) ausgeführt wurde.
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.
Bemerkungen
Berechtigungen im Serverbereich können nur verweigert werden, wenn die aktuelle Datenbank .master
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.
In der Azure SQL-Datenbank GRANTwerden , REVOKE, und DENY auf Serverebene keine Berechtigungen unterstützt.
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 GROUPGilt für: SQL Server (SQL Server 2012 (11.x) 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 ROLEGilt für: SQL Server (SQL Server 2012 (11.x) 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 |
| VERBINDEN ALLER VERBINDUNGEN DATABASE Gilt für: SQL Server (SQL Server 2014 (12.x) 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 (11.x) bis aktuelle Version). |
JEDES ÄNDERN AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLEGilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGINGilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version). |
CONTROL SERVER |
SELECT ALL USER SECURABLESGilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW ANY PERFORMANCE DEFINITIONGilt für: SQL Server 2022 (16.x) und höhere Versionen. |
VIEW ANY DEFINITION |
VIEW ANY SECURITY DEFINITIONGilt für: SQL Server 2022 (16.x) und höhere Versionen. |
VIEW ANY DEFINITION |
VIEW SERVER PERFORMANCE STATEGilt für: SQL Server 2022 (16.x) und höhere Versionen. |
VIEW SERVER STATE |
VIEW SERVER SECURITY STATEGilt für: SQL Server 2022 (16.x) und höhere Versionen. |
VIEW SERVER STATE |
VIEW SERVER STATE |
ALTER SERVER STATE |
Die folgenden drei Serverberechtigungen wurden in SQL Server 2014 (12.x) hinzugefügt.
CONNECT ANY DATABASEdie Berechtigung erteilt- Gewähren
CONNECT ANY DATABASESie einen Login, der sich mit allen derzeit vorhandenen Datenbanken und neuen Datenbanken, die in Zukunft erstellt werden könnten, verbunden sein muss. Gewährt keine Berechtigung für Datenbanken außer der Berechtigung zum Herstellen der Verbindung. Kombinieren Sie es mitSELECT ALL USER SECURABLESoderVIEW SERVER STATEermöglichen Sie einem Audit-Prozess, alle Daten oder Datenbankzustände auf der SQL Server-Instanz anzuzeigen.
- Gewähren
IMPERSONATE ANY LOGINdie Berechtigung erteilt- 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. Zum Beispiel kann ein Login mit
CONTROL SERVERBerechtigung daran gehindert werden, andere Logins zu imitieren.
- 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. Zum Beispiel kann ein Login mit
SELECT ALL USER SECURABLESdie Berechtigung erteilt- 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 abgelehnt, verhindert dies den Zugriff auf Objekte, es sei denn, sie sind im Schema
sys.
- 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 abgelehnt, verhindert dies den Zugriff auf Objekte, es sei denn, sie sind im Schema
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. CONNECT SQL-Berechtigung für einen SQL Server-Login und die Hauptverantwortlichen verweigern, denen der Login sie erneut erteilt hat.
Im folgenden Beispiel wird die CONNECT SQL-Berechtigung für den SQL Server-Anmeldenamen Test und für die Prinzipale verweigert, denen diese Benutzerin die Berechtigung erteilt hat.
USE master;
DENY CONNECT SQL TO Test CASCADE;
GO
B. Berechtigung für eine SQL Server-Anmeldung mit der AS-Option verweigern CREATE ENDPOINT
Im folgenden Beispiel wird die CREATE ENDPOINT-Berechtigung für den Benutzer Test1 verweigert. Im Beispiel wird die AS-Option verwendet, um Test2 als Prinzipal anzugeben, von dem der ausführende Prinzipal die Berechtigung zum Erteilen oder Verweigern der Berechtigung ableitet.
USE master;
DENY CREATE ENDPOINT TO Test1 AS Test2;
GO