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
Erteilt Berechtigungen für einen Server.
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 <Prinzipal> gibt den Prinzipal an, dem die Berechtigung zugewiesen wird.
AS <gewährender_Prinzipal> gibt den Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Zuweisen der Berechtigung ableitet.
MIT 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.
Bemerkungen
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 |
|---|---|
| VERWALTEN VON MASSENVORGÄNGEN | Steuerungsserver |
| JEDES ÄNDERN AVAILABILITY GROUP Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version). |
Steuerungsserver |
| ÄNDERN EINER BELIEBIGEN VERBINDUNG | Steuerungsserver |
| JEDES ÄNDERN CREDENTIAL | Steuerungsserver |
| JEDES ÄNDERN DATABASE | Steuerungsserver |
| JEDES ÄNDERN ENDPOINT | Steuerungsserver |
| JEDES ÄNDERN EVENT NOTIFICATION | Steuerungsserver |
| JEDES ÄNDERN EVENT SESSION | Steuerungsserver |
| ÄNDERN EINES BELIEBIGEN VERKNÜPFTEN SERVERS | Steuerungsserver |
| JEDES ÄNDERN LOGIN | Steuerungsserver |
| JEDES ÄNDERN SERVER AUDIT | Steuerungsserver |
| JEDES ÄNDERN SERVER ROLE Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version). |
Steuerungsserver |
| RESSOURCEN ÄNDERN | Steuerungsserver |
| SERVERSTATUS ÄNDERN | Steuerungsserver |
| EINSTELLUNGEN ÄNDERN | Steuerungsserver |
| ALTER TRACE | Steuerungsserver |
| AUTHENTIFIZIEREN DES SERVERS | Steuerungsserver |
| VERBINDEN ALLER VERBINDUNGEN DATABASE Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version). |
Steuerungsserver |
| CONNECT SQL | Steuerungsserver |
| Steuerungsserver | Steuerungsserver |
| BELIEBIG ERSTELLEN DATABASE | JEDES ÄNDERN 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 | JEDES ÄNDERN EVENT NOTIFICATION |
| CREATE ENDPOINT | JEDES ÄNDERN ENDPOINT |
| CREATE LOGIN Gilt für: SQL Server 2022 (16.x) und höhere Versionen. |
JEDES ÄNDERN LOGIN |
| CREATE SERVER ROLE Gilt für: SQL Server (SQL Server 2012 (11.x) bis aktuelle Version). |
JEDES ÄNDERN SERVER ROLE |
| ABLAUFVERFOLGUNG ERSTELLEN EVENT NOTIFICATION | JEDES ÄNDERN EVENT NOTIFICATION |
| EXTERNER ZUGRIFF ASSEMBLY | Steuerungsserver |
| IDENTITÄTSWECHSEL EINES BELIEBIGEN LOGIN Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version). |
Steuerungsserver |
| ALLE USER SICHERUNGSFÄHIGEN ELEMENTE AUSWÄHLEN Gilt für: SQL Server (SQL Server 2014 (12.x) bis aktuelle Version). |
Steuerungsserver |
| SHUTDOWN | Steuerungsserver |
| UNSICHERE ASSEMBLY | Steuerungsserver |
| VIEW JEGLICHE DATABASE | VIEW JEDE DEFINITION |
| VIEW JEDE DEFINITION | Steuerungsserver |
| VIEW SERVERSTATUS | SERVERSTATUS ÄNDERN |
Die folgenden drei Serverberechtigungen wurden in SQL Server 2014 (12.x) hinzugefügt.
VERBINDEN BELIEBIGE DATABASE Genehmigung
Gewähren Sie CONNECT ANY DATABASE einem 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 mit SELECT ALL USER SECURABLES oder VIEW SERVER STATE, um einem Audit-Prozess zu ermöglichen, alle Daten oder Datenbankzustände auf der SQL Server-Instanz anzuzeigen.
GIB DICH ALS JEDEN LOGIN AUS Genehmigung
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. Beispielsweise kann verhindert werden, dass ein Anmeldename mit einer CONTROL SERVER-Berechtigung die Identität anderer Anmeldenamen annimmt.
ALLE AUSWÄHLEN USER Genehmigung für SECURABLES
Wenn diese gewährt wird, kann eine Anmeldung Daten aus allen Objekten auf Schemaebene anzeigen, zum Beispiel Tabellen und Sichten. Tabellenwertfunktionen, die sich in benutzerbeschreibbaren Schemas befinden (alle Schemas außer sys und INFORMATION_SCHEMA) können zum Erstellen von Benutzerobjekten verwendet werden. Diese Berechtigung hat Auswirkungen auf alle Datenbanken, mit denen der Benutzer eine Verbindung herstellen kann. Wenn dies verweigert wird, wird der Zugriff auf alle Objekte verhindert, es sei denn, sie befinden sich im sys- oder INFORMATION_SCHEMA-Schema. Dies wirkt sich auch auf die Metadatensichtbarkeit der behandelten Objekte aus. Weitere Informationen hierzu finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.
Berechtigungen
Der Grantor (oder der mit der AS-Option angegebene Prinzipal) muss entweder über die Berechtigung selbst mit GRANT OPTION oder eine höhere Berechtigung verfügen, die die erteilte Berechtigung impliziert. Mitglieder der festen Serverrolle sysadmin können beliebige Berechtigungen erteilen.
Beispiele
A. Gewähren einer Berechtigung für einen Anmeldenamen
Im folgenden Beispiel wird der SQL Server-Anmeldung CONTROL SERVER die TerryEminhizer-Berechtigung zugewiesen.
USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO
B. Erteilung einer Erlaubnis, die Erlaubnis hat GRANT
Im folgenden Beispiel wird der SQL Server-Anmeldung ALTER ANY EVENT NOTIFICATION die JanethEsteves-Berechtigung mit dem Recht zum Zuweisen der Berechtigung für andere Anmeldungen zugewiesen.
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 wird eine Serverrolle mit dem Namen ITDevelopers erstellt. Sie gewährt ALTER ANY DATABASE Berechtigung für die ITDevelopers-Serverrolle.
USE master;
CREATE SERVER ROLE ITDevelopers ;
GRANT ALTER ANY DATABASE TO ITDevelopers ;
GO
Weitere Informationen
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Serverberechtigungen (Transact-SQL)
REVOKE Serverberechtigungen (Transact-SQL)
Berechtigungshierarchie (Datenbank-Engine)
Prinzipale (Datenbank-Engine)
Berechtigungen (Datenbank-Engine)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)