GRANT (Serverberechtigungen) (Transact-SQL)

Erteilt Berechtigungen für einen Server.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

GRANT permission [ ,...n ] 
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
    [ 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

  • permission
    Gibt eine Berechtigung an, die für einen Server erteilt werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

  • TO <grantee_principal>
    Gibt den Prinzipal an, für den die Berechtigung erteilt wird.

  • AS <grantor_principal>
    Gibt den Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Erteilen der Berechtigung ableitet.

  • WITH GRANT OPTION
    Gibt an, dass der Prinzipal die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.

  • 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 benutzerdefinierte Serverrolle an.

Hinweise

Berechtigungen im Serverbereich können nur erteilt werden, wenn master als aktuelle Datenbank verwendet wird.

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.

Ein Server stellt die höchste Ebene der Berechtigungshierarchie dar. Die spezifischsten und restriktivsten Berechtigungen, die für einen Server erteilt werden können, sind in der folgenden Tabelle aufgeführt.

Serverberechtigung

Impliziert durch die Serverberechtigung

ADMINISTER BULK OPERATIONS

CONTROL SERVER

ALTER ANY AVAILABILITY GROUP

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 ROLE

CONTROL SERVER

ALTER RESOURCES

CONTROL SERVER

ALTER SERVER STATE

CONTROL SERVER

ALTER SETTINGS

CONTROL SERVER

ALTER TRACE

CONTROL SERVER

AUTHENTICATE SERVER

CONTROL SERVER

CONNECT SQL

CONTROL SERVER

CONTROL SERVER

CONTROL SERVER

CREATE ANY DATABASE

ALTER ANY DATABASE

CREATE AVAILABILITY GROUP

ALTER ANY AVAILABILITY GROUP

CREATE DDL EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

CREATE ENDPOINT

ALTER ANY ENDPOINT

CREATE SERVER ROLE

ALTER ANY SERVER ROLE

CREATE TRACE EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

EXTERNAL ACCESS ASSEMBLY

CONTROL SERVER

SHUTDOWN

CONTROL SERVER

UNSAFE ASSEMBLY

CONTROL SERVER

VIEW ANY DATABASE

VIEW ANY DEFINITION

VIEW ANY DEFINITION

CONTROL SERVER

VIEW SERVER STATE

ALTER SERVER STATE

Berechtigungen

Der Berechtigende (oder der mit der AS-Option angegebene Prinzipal) muss entweder über die Berechtigung selbst mit GRANT OPTION oder über eine höhere Berechtigung verfügen, in der die erteilte Berechtigung impliziert ist. Mitglieder der festen Serverrolle sysadmin können beliebige Berechtigungen erteilen.

Beispiele

A.Gewähren einer Berechtigung für einen Anmeldenamen

Im folgenden Beispiel wird die CONTROL SERVER-Berechtigung für den SQL Server-Anmeldenamen TerryEminhizer erteilt.

USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO

B.Gewähren einer Berechtigung, die über die GRANT-Berechtigung verfügt

Im folgenden Beispiel wird die ALTER ANY EVENT NOTIFICATION-Berechtigung für den SQL Server-Anmeldenamen JanethEsteves mit dem Recht zum Erteilen der Berechtigung für andere Anmeldenamen erteilt.

USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO

C.Gewähren einer Berechtigung für eine Serverrolle

Im folgenden Beispiel werden die beiden Serverrollen ITDevAdmin und ITDevelopers erstellt. Die ALTER ANY DATABASE-Berechtigung wird der benutzerdefinierten ITDevAdmin-Serverrolle mit der WITH GRANT-Option erteilt, sodass die ALTER ANY DATABASE-Berechtigung von der ITDevAdmin-Serverrolle neu zugewiesen werden kann. Anschließend wird im Beispiel ITDevelopers die Berechtigung zur Verwendung der ALTER ANY DATABASE-Berechtigung der ITDevAdmin-Serverrolle erteilt.

USE master;
CREATE SERVER ROLE ITDevAdmin ;
CREATE SERVER ROLE ITDevelopers ;
GRANT ALTER ANY DATABASE TO ITDevAdmin WITH GRANT OPTION ;
GRANT ALTER ANY DATABASE TO ITDevelopers AS ITDevAdmin ;
GO

Siehe auch

Verweis

GRANT (Transact-SQL)

DENY (Transact-SQL)

DENY (Serverberechtigungen) (Transact-SQL)

REVOKE (Serverberechtigungen) (Transact-SQL)

sys.fn_builtin_permissions (Transact-SQL)

sys.fn_my_permissions (Transact-SQL)

HAS_PERMS_BY_NAME (Transact-SQL)

Konzepte

Berechtigungshierarchie (Datenbankmodul)

Prinzipale (Datenbankmodul)

Berechtigungen (Datenbankmodul)