DENY (Berechtigungen für Serverprinzipal) (Transact-SQL)
Verweigert Berechtigungen, die für einen SQL Server-Anmeldenamen erteilt wurden.
Transact-SQL-Syntaxkonventionen
Syntax
DENY permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
Argumente
- permission
Gibt eine Berechtigung an, die für einen SQL Server-Anmeldenamen verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
- LOGIN :: SQL_Server_login
Gibt den SQL Server-Anmeldenamen an, für den die Berechtigung verweigert wird. Der Bereichsqualifizierer (::) ist erforderlich.
- TO SQL_Server_login
Gibt den SQL Server-Anmeldenamen an, dessen Berechtigung verweigert wird.
- SQL_Server_login
Gibt einen SQL Server-Anmeldenamen an.
- SQL_Server_login_from_Windows_login
Gibt einen aus einem Windows-Anmeldenamen erstellten SQL Server-Anmeldenamen an.
- SQL_Server_login_from_certificate
Gibt einen einem Zertifikat zugeordneten SQL Server-Anmeldenamen an.
- SQL_Server_login_from_AsymKey
Gibt einen einem asymmetrischen Schlüssel zugeordneten SQL Server-Anmeldenamen an.
- CASCADE
Gibt an, dass die verweigerte Berechtigung auch anderen Prinzipalen verweigert wird, denen sie von diesem Prinzipal erteilt wurde.
- AS SQL_Server_login
Gibt einen SQL Server-Anmeldenamen an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Verweigern der Berechtigung ableitet.
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 angezeigt. Informationen zu Serverprinzipalen werden in der sys.server_principals-Katalogsicht angezeigt.
Die DENY-Anweisung erzeugt einen Fehler, wenn CASCADE beim Verweigern einer Berechtigung für einen Prinzipal nicht angegeben ist, dem diese Berechtigung mit GRANT OPTION erteilt wurde.
Ein SQL Server-Anmeldename ist ein sicherungsfähiges Element auf Serverebene. Die spezifischsten und restriktivsten Berechtigungen, die für einen SQL Server-Anmeldenamen verweigert werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
Berechtigung für SQL Server-Anmeldenamen | Impliziert durch die Berechtigung für SQL Server-Anmeldenamen | Impliziert durch die Serverberechtigung |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Berechtigungen
Erfordert die CONTROL-Berechtigung für den Anmeldenamen oder die ALTER ANY LOGIN-Berechtigung für den Server.
Beispiele
A. Verweigern der IMPERSONATE-Berechtigung für einen Anmeldenamen
Im folgenden Beispiel wird die IMPERSONATE
-Berechtigung für den SQL Server-Anmeldenamen WanidaBenshoof
dem SQL Server-Anmeldenamen verweigert, der aus dem Windows-Benutzer AdvWorks\YoonM
erstellt wurde.
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Verweigern der VIEW DEFINITION-Berechtigung mit CASCADE OPTION
Im folgenden Beispiel wird die VIEW DEFINITION
-Berechtigung für den SQL Server-Anmeldenamen EricKurjan
dem SQL Server-Anmeldenamen RMeyyappan
verweigert. Mit der CASCADE
-Option wird angegeben, dass die VIEW DEFINITION
-Berechtigung für EricKurjan
ebenfalls für die Prinzipale verweigert wird, denen diese Berechtigung von RMeyyappan
erteilt wurde.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
Siehe auch
Verweis
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT (Berechtigungen für Serverprinzipal) (Transact-SQL)
REVOKE (Berechtigungen für Serverprinzipal) (Transact-SQL)
CREATE LOGIN (Transact-SQL)