GRANT (Serverberechtigungen) (Transact-SQL)GRANT Server Permissions (Transact-SQL)

Gilt für: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Erteilt Berechtigungen für einen Server.Grants permissions on a server.

Themenlinksymbol Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
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  

ArgumenteArguments

permissionpermission
Gibt eine Berechtigung an, die für einen Server erteilt werden kann.Specifies a permission that can be granted on a server. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.For a list of the permissions, see the Remarks section later in this topic.

TO <grantee_principal> Gibt den Prinzipal an, für den die Berechtigung erteilt wird.TO <grantee_principal> Specifies the principal to which the permission is being granted.

AS <grantor_principal> Gibt den Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Erteilen der Berechtigung ableitet.AS <grantor_principal> Specifies the principal from which the principal executing this query derives its right to grant the permission.

WITH GRANT OPTIONWITH GRANT OPTION
Gibt an, dass der Prinzipal die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.Indicates that the principal will also be given the ability to grant the specified permission to other principals.

SQL_Server_loginSQL_Server_login
Gibt einen SQL ServerSQL Server-Anmeldenamen an.Specifies a SQL ServerSQL Server login.

SQL_Server_login_mapped_to_Windows_loginSQL_Server_login_mapped_to_Windows_login
Gibt einen SQL ServerSQL Server-Anmeldenamen an, der einem Windows-Anmeldenamen zugeordnet ist.Specifies a SQL ServerSQL Server login mapped to a Windows login.

SQL_Server_login_mapped_to_Windows_groupSQL_Server_login_mapped_to_Windows_group
Gibt einen SQL ServerSQL Server-Anmeldenamen an, der einer Windows-Gruppe zugeordnet ist.Specifies a SQL ServerSQL Server login mapped to a Windows group.

SQL_Server_login_mapped_to_certificateSQL_Server_login_mapped_to_certificate
Gibt einen SQL ServerSQL Server-Anmeldenamen an, der einem Zertifikat zugeordnet ist.Specifies a SQL ServerSQL Server login mapped to a certificate.

SQL_Server_login_mapped_to_asymmetric_keySQL_Server_login_mapped_to_asymmetric_key
Gibt einen SQL ServerSQL Server-Anmeldenamen an, der einem asymmetrischen Schlüssel zugeordnet ist.Specifies a SQL ServerSQL Server login mapped to an asymmetric key.

server_roleserver_role
Gibt eine benutzerdefinierte Serverrolle an.Specifies a user-defined server role.

BemerkungenRemarks

Berechtigungen im Serverbereich können nur erteilt werden, wenn master als aktuelle Datenbank verwendet wird.Permissions at the server scope can be granted only when the current database is master.

Informationen zu Serverberechtigungen werden in der sys.server_permissions-Katalogsicht und Informationen zu Serverprinzipalen in der sys.server_principals-Katalogsicht angezeigt.Information about server permissions can be viewed in the sys.server_permissions catalog view, and information about server principals can be viewed in the sys.server_principals catalog view. Informationen zur Mitgliedschaft von Serverrollen werden in der sys.server_role_members-Katalogsicht angezeigt.Information about membership of server roles can be viewed in the sys.server_role_members catalog view.

Ein Server stellt die höchste Ebene der Berechtigungshierarchie dar.A server is the highest level of the permissions hierarchy. Die spezifischsten und restriktivsten Berechtigungen, die für einen Server erteilt werden können, sind in der folgenden Tabelle aufgeführt.The most specific and limited permissions that can be granted on a server are listed in the following table.

ServerberechtigungServer permission Impliziert durch die ServerberechtigungImplied by server permission
ADMINISTER BULK OPERATIONSADMINISTER BULK OPERATIONS CONTROL SERVERCONTROL SERVER
ALTER ANY AVAILABILITY GROUPALTER ANY AVAILABILITY GROUP

Gilt für: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through current version).
CONTROL SERVERCONTROL SERVER
ALTER ANY CONNECTIONALTER ANY CONNECTION CONTROL SERVERCONTROL SERVER
ALTER ANY CREDENTIALALTER ANY CREDENTIAL CONTROL SERVERCONTROL SERVER
ALTER ANY DATABASEALTER ANY DATABASE CONTROL SERVERCONTROL SERVER
ALTER ANY ENDPOINTALTER ANY ENDPOINT CONTROL SERVERCONTROL SERVER
ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION CONTROL SERVERCONTROL SERVER
ALTER ANY EVENT SESSIONALTER ANY EVENT SESSION CONTROL SERVERCONTROL SERVER
ALTER ANY LINKED SERVERALTER ANY LINKED SERVER CONTROL SERVERCONTROL SERVER
ALTER ANY LOGINALTER ANY LOGIN CONTROL SERVERCONTROL SERVER
ALTER ANY SERVER AUDITALTER ANY SERVER AUDIT CONTROL SERVERCONTROL SERVER
ALTER ANY SERVER ROLEALTER ANY SERVER ROLE

Gilt für: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through current version).
CONTROL SERVERCONTROL SERVER
ALTER RESOURCESALTER RESOURCES CONTROL SERVERCONTROL SERVER
ALTER SERVER STATEALTER SERVER STATE CONTROL SERVERCONTROL SERVER
ALTER SETTINGSALTER SETTINGS CONTROL SERVERCONTROL SERVER
ALTER TRACEALTER TRACE CONTROL SERVERCONTROL SERVER
AUTHENTICATE SERVERAUTHENTICATE SERVER CONTROL SERVERCONTROL SERVER
CONNECT ANY DATABASECONNECT ANY DATABASE

Gilt für: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through current version).
CONTROL SERVERCONTROL SERVER
CONNECT SQLCONNECT SQL CONTROL SERVERCONTROL SERVER
CONTROL SERVERCONTROL SERVER CONTROL SERVERCONTROL SERVER
CREATE ANY DATABASECREATE ANY DATABASE ALTER ANY DATABASEALTER ANY DATABASE
Erstellen der VerfügbarkeitsgruppeCREATE AVAILABILITY GROUP

Gilt für: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through current version).
ALTER ANY AVAILABILITY GROUPALTER ANY AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATIONCREATE DDL EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION
CREATE ENDPOINTCREATE ENDPOINT ALTER ANY ENDPOINTALTER ANY ENDPOINT
CREATE SERVER ROLECREATE SERVER ROLE

Gilt für: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through current version).
ALTER ANY SERVER ROLEALTER ANY SERVER ROLE
CREATE TRACE EVENT NOTIFICATIONCREATE TRACE EVENT NOTIFICATION ALTER ANY EVENT NOTIFICATIONALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLYEXTERNAL ACCESS ASSEMBLY CONTROL SERVERCONTROL SERVER
IMPERSONATE ANY LOGINIMPERSONATE ANY LOGIN

Gilt für: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through current version).
CONTROL SERVERCONTROL SERVER
SELECT ALL USER SECURABLESSELECT ALL USER SECURABLES

Gilt für: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) bis aktuelle Version).Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through current version).
CONTROL SERVERCONTROL SERVER
SHUTDOWNSHUTDOWN CONTROL SERVERCONTROL SERVER
UNSAFE ASSEMBLYUNSAFE ASSEMBLY CONTROL SERVERCONTROL SERVER
VIEW ANY DATABASEVIEW ANY DATABASE VIEW ANY DEFINITIONVIEW ANY DEFINITION
VIEW ANY DEFINITIONVIEW ANY DEFINITION CONTROL SERVERCONTROL SERVER
VIEW SERVER STATEVIEW SERVER STATE ALTER SERVER STATEALTER SERVER STATE

BemerkungenRemarks

Die folgenden drei Serverberechtigungen wurden in SQL Server 2014 (12.x)SQL Server 2014 (12.x) hinzugefügt.The following three server permissions were added in SQL Server 2014 (12.x)SQL Server 2014 (12.x).

CONNECT ANY DATABASE-BerechtigungCONNECT ANY DATABASE Permission
Erteilen Sie die CONNECT ANY DATABASE-Berechtigung einem Anmeldenamen, der eine Verbindung mit allen derzeit vorhandenen Datenbanken und allen zukünftig erstellten neuen Datenbanken herstellen muss.Grant CONNECT ANY DATABASE to a login that must connect to all databases that currently exist and to any new databases that might be created in future. Gewährt keine Berechtigung für Datenbanken außer der Berechtigung zum Herstellen der Verbindung.Does not grant any permission in any database beyond connect. Kombinieren Sie diese Berechtigung mit SELECT ALL USER SECURABLES oder VIEW SERVER STATE, um einem Überwachungsprozess das Anzeigen aller Daten oder aller Datenbankstatus in der Instanz von SQL ServerSQL Server zu ermöglichen.Combine with SELECT ALL USER SECURABLES or VIEW SERVER STATE to allow an auditing process to view all data or all database states on the instance of SQL ServerSQL Server.

IMPERSONATE ANY LOGIN-BerechtigungIMPERSONATE ANY LOGIN Permission
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.When granted, allows a middle-tier process to impersonate the account of clients connecting to it, as it connects to databases. Wenn die Berechtigung verweigert wird, kann verhindert werden, dass ein Anmeldename mit hohen Privilegien die Identität anderer Anmeldenamen annimmt.When denied, a high privileged login can be blocked from impersonating other logins. Beispielsweise kann verhindert werden, dass ein Anmeldename mit einer CONTROL SERVER-Berechtigung die Identität anderer Anmeldenamen annimmt.For example, a login with CONTROL SERVER permission can be blocked from impersonating other logins.

SELECT ALL USER SECURABLES-BerechtigungSELECT ALL USER SECURABLES Permission
Wenn sie erteilt wird, kann ein Anmeldename, z. B. ein Auditor, Daten in allen Datenbanken anzeigen, mit denen der Benutzer eine Verbindung herstellen kann.When granted, a login such as an auditor can view data in all databases that the user can connect to. Wenn sie verweigert wird, wird der Zugriff auf alle Objekte, außer auf die Objekte im sys-Schema, verhindert.When denied, prevents access to objects unless they are in the sys schema.

BerechtigungenPermissions

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.The grantor (or the principal specified with the AS option) must have either the permission itself with GRANT OPTION or a higher permission that implies the permission being granted. Mitglieder der festen Serverrolle sysadmin können beliebige Berechtigungen erteilen.Members of the sysadmin fixed server role can grant any permission.

BeispieleExamples

A.A. Gewähren einer Berechtigung für einen AnmeldenamenGranting a permission to a login

Im folgenden Beispiel wird die CONTROL SERVER-Berechtigung für den SQL ServerSQL Server-Anmeldenamen TerryEminhizer erteilt.The following example grants CONTROL SERVER permission to the SQL ServerSQL Server login TerryEminhizer.

USE master;  
GRANT CONTROL SERVER TO TerryEminhizer;  
GO  

B.B. Gewähren einer Berechtigung, die über die GRANT-Berechtigung verfügtGranting a permission that has GRANT permission

Im folgenden Beispiel wird die ALTER ANY EVENT NOTIFICATION-Berechtigung für den SQL ServerSQL Server-Anmeldenamen JanethEsteves mit dem Recht zum Erteilen der Berechtigung für andere Anmeldenamen erteilt.The following example grants ALTER ANY EVENT NOTIFICATION to SQL ServerSQL Server login JanethEsteves with the right to grant that permission to another login.

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

C.C. Gewähren einer Berechtigung für eine ServerrolleGranting a permission to a server role

Im folgenden Beispiel werden die beiden Serverrollen ITDevAdmin und ITDevelopers erstellt.The following example creates two server roles named ITDevAdmin and ITDevelopers. Die ALTER ANY DATABASE-Berechtigung wird der benutzerdefinierten ITDevAdmin-Serverrolle mit der WITH GRANT-Option erteilt, sodass die ITDevAdmin-Berechtigung von der ALTER ANY DATABASE-Serverrolle neu zugewiesen werden kann.It grants the ALTER ANY DATABASE permission to the ITDevAdmin user-defined server role including the WITH GRANT option so that the ITDevAdmin server role can reassign the ALTER ANY DATABASE permission. Anschließend wird im Beispiel ITDevelopers die Berechtigung zur Verwendung der ALTER ANY DATABASE-Berechtigung der ITDevAdmin-Serverrolle erteilt.Then, the example grants the ITDevelopers the permission to use the ALTER ANY DATABASE permission of the ITDevAdmin server role.

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  

Weitere InformationenSee Also

GRANT (Transact-SQL) GRANT (Transact-SQL)
DENY (Transact-SQL) DENY (Transact-SQL)
DENY (Serverberechtigungen) (Transact-SQL) DENY Server Permissions (Transact-SQL)
REVOKE (Serverberechtigungen) (Transact-SQL) REVOKE Server Permissions (Transact-SQL)
Berechtigungshierarchie (Datenbank-Engine ) Permissions Hierarchy (Database Engine)
Prinzipale (Datenbank-Engine) Principals (Database Engine)
Berechtigungen (Datenbank-Engine) Permissions (Database Engine)
sys.fn_builtin_permissions (Transact-SQL) sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL) sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)HAS_PERMS_BY_NAME (Transact-SQL)