GRANT (Berechtigungen für Serverprinzipal) (Transact-SQL)
Gilt für: SQL Server Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie Berechtigungen für eine SQL Server-Anmeldung zuweisen.
Transact-SQL-Syntaxkonventionen
Syntax
GRANT permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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
| server_role
Argumente
permission
Gibt eine Berechtigung an, die für eine SQL Server-Anmeldung zugewiesen werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
LOGIN :: SQL_Server_login
Gibt die SQL Server-Anmeldung an, der die Berechtigung erteilt wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.
SERVER ROLE :: server_role
Gibt die benutzerdefinierte Serverrolle an, für die die Berechtigung erteilt wird. Der Bereichsqualifizierer ( :: ) ist erforderlich.
TO <server_principal> Gibt die SQL Server-Anmeldung oder die Serverrolle an, der die Berechtigung erteilt 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.
server_role
Gibt den Namen einer benutzerdefinierten Serverrolle an.
WITH GRANT OPTION
Gibt an, dass der Prinzipal die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.
AS SQL_Server_login
Gibt den SQL Server-Anmeldenamen an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Erteilen der Berechtigung ableitet.
Bemerkungen
Berechtigungen im Serverbereich können nur erteilt werden, wenn master als aktuelle Datenbank verwendet wird.
Informationen zu Serverberechtigungen werden in der Katalogsicht sys.server_permissions angezeigt. Informationen zu Serverprinzipalen werden in der Katalogsicht sys.server_principals angezeigt.
SQL Server-Anmeldenamen und Serverrollen sind sicherungsfähige Elemente auf Serverebene. Die spezifischsten und restriktivsten Berechtigungen, die einer SQL Server-Anmeldung oder Serverrolle erteilt werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die in diesen implizit enthalten sind.
SQL Server-Anmeldename oder Serverrollenberechtigung | Impliziert durch SQL Server-Anmeldename oder Serverrollenberechtigung | Impliziert durch die Serverberechtigung |
---|---|---|
CONTROL | CONTROL | CONTROL SERVER |
IMPERSONATE | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
ALTER | CONTROL | ALTER ANY LOGIN ALTER ANY SERVER ROLE |
Berechtigungen
Erfordert bei Anmeldenamen die CONTROL-Berechtigung bei der Anmeldung oder die ALTER ANY LOGIN-Berechtigung für den Server.
Erfordert bei Serverrollen die CONTROL-Berechtigung für die Serverrolle oder die ALTER ANY SERVER ROLE-Berechtigung für den Server.
Beispiele
A. Erteilen der IMPERSONATE-Berechtigung für einen Anmeldenamen
Im folgenden Beispiel wird die IMPERSONATE
-Berechtigung für die SQL Server-Anmeldung WanidaBenshoof
der SQL Server-Anmeldung zugewiesen, die aus dem Windows-Benutzer AdvWorks\YoonM
erstellt wurde.
USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO
B. Erteilen der VIEW DEFINITION-Berechtigung mit GRANT OPTION
Im folgenden Beispiel wird die VIEW DEFINITION
-Berechtigung für die SQL Server-Anmeldung EricKurjan
der SQL Server-Anmeldung RMeyyappan
mit GRANT OPTION
zugewiesen.
USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
WITH GRANT OPTION;
GO
C. Erteilen der VIEW DEFINITION-Berechtigung für eine Serverrolle
Im folgenden Beispiel wird VIEW DEFINITION
für die Serverrolle Sales
der Serverrolle Auditors
gewährt.
USE master;
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Weitere Informationen
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Prinzipale (Datenbank-Engine)
Berechtigungen (Datenbank-Engine)
Sicherheitsfunktionen (Transact-SQL)
Gespeicherte Sicherheitsprozeduren (Transact-SQL)