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-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Erteilt Berechtigungen für einen Datenbankbenutzer, eine Datenbankrolle oder Anwendungsrolle in SQL Server.
Transact-SQL-Syntaxkonventionen
Syntax
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
Gibt eine Berechtigung an, die für den Datenbankprinzipal erteilt werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
NUTZER ::database_user
Gibt die Klasse und den Namen des Benutzers an, für den die Berechtigung erteilt wird. Der Bereichsqualifizierer (::) ist erforderlich.
ROLLE ::database_role
Gibt die Klasse und den Namen der Rolle an, für die die Berechtigung erteilt wird. Der Bereichsqualifizierer (::) ist erforderlich.
ANWENDUNGSROLLE ::application_role
Gibt die Klasse und den Namen der Anwendungsrolle an, für die die Berechtigung erteilt wird. Der Bereichsqualifizierer (::) ist erforderlich.
MIT GRANT-OPTION
Gibt an, dass der Prinzipal die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.
AS <Datenbankprinzipal>
Gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Erteilen der Berechtigung ableitet.
Database_user
Gibt einen Datenbankbenutzer an.
Database_role
Gibt eine Datenbankrolle an.
Application_role
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
Gibt eine Anwendungsrolle an.
Database_user_mapped_to_Windows_User
Gibt einen Datenbankbenutzer an, der einem Windows-Benutzer zugeordnet ist.
Database_user_mapped_to_Windows_Group
Gibt einen Datenbankbenutzer an, der einer Windows-Gruppe zugeordnet ist.
Database_user_mapped_to_certificate
Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.
Database_user_mapped_to_asymmetric_key
Gibt einen Datenbankbenutzer an, der einem asymmetrischen Schlüssel zugeordnet ist.
Database_user_with_no_login
Gibt einen Datenbankbenutzer ohne entsprechenden Prinzipal auf Serverebene an.
Remarks
Informationen zu Datenbankprinzipalen werden in der sys.database_principals-Katalogsicht angezeigt. Informationen zu Berechtigungen auf Datenbankebene werden in der sys.database_permissions-Katalogsicht angezeigt.
Berechtigungen für Datenbankbenutzer
Ein Datenbankbenutzer ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die einem Datenbankbenutzer erteilt werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Datenbankbenutzer | Impliziert durch die Berechtigung für Datenbankbenutzer | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINES BELIEBIGEN BENUTZERS |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Berechtigungen für Datenbankrollen
Eine Datenbankrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die einer Datenbankrolle erteilt werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Datenbankrollen | Impliziert durch die Berechtigung für Datenbankrollen | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ÜBERNEHMEN EIGENTUM | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINER BELIEBIGEN ROLLE |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Berechtigungen für Anwendungsrollen
Eine Anwendungsrolle ist ein sicherungsfähiges Element auf Datenbankebene in der Datenbank, die das übergeordnete Element in der Berechtigungshierarchie ist. Die spezifischsten und restriktivsten Berechtigungen, die einer Anwendungsrolle erteilt werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
| Berechtigung für Anwendungsrollen | Impliziert durch die Berechtigung für Anwendungsrollen | Impliziert durch Datenbankberechtigung |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDERN EINER BELIEBIGEN ANWENDUNGSROLLE |
| Darstellungsdefinition | CONTROL | Darstellungsdefinition |
Permissions
Der Berechtigende (oder der mit der AS-Option angegebene Prinzipal) benötigt entweder die Berechtigung selbst mit GRANT OPTION oder eine höhere Berechtigung, die die erteilte Berechtigung impliziert.
Falls die AS-Option verwendet wird, gelten die folgenden zusätzlichen Anforderungen.
| SO granting_principal | Zusätzliche Berechtigung erforderlich |
|---|---|
| Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Einem Windows-Benutzer zugeordneter Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Einer Windows-Gruppe zugeordneter Datenbankbenutzer | Mitgliedschaft in der Windows-Gruppe, Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Einem Zertifikat zugeordneter Datenbankbenutzer | Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Einem asymmetrischen Schlüssel zugeordneter Datenbankbenutzer | Mitgliedschaft in der festen Datenbankrolle db_securityadminfixed, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Einem Serverprinzipal zugeordneter Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Datenbankrolle | ALTER-Berechtigung für die Rolle, Mitgliedschaft in der festen Datenbankrolle db_securityadminfixed, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
| Anwendungsrolle | ALTER-Berechtigung für die Rolle, Mitgliedschaft in der festen Datenbankrolle db_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
Prinzipale mit CONTROL-Berechtigung für ein sicherungsfähiges Element können die Berechtigung für dieses sicherungsfähige Element erteilen.
Empfänger der CONTROL-Berechtigung in einer Datenbank, z. B. Mitglieder der festen Datenbankrolle db_owner, können jede Berechtigung für ein beliebiges sicherungsfähiges Element in der Datenbank erteilen.
Examples
A. Erteilen der CONTROL-Berechtigung für einen Benutzer an einen anderen Benutzer
Im folgenden Beispiel wird die CONTROL-Berechtigung für den AdventureWorks2025-Benutzer Wanida an den Benutzer RolandX erteilt.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. Erteilen der VIEW DEFINITION-Berechtigung für eine Rolle an einen Benutzer mit GRANT OPTION
Im folgenden Beispiel wird die VIEW DEFINITION-Berechtigung für die AdventureWorks2025-Rolle SammamishParking zusammen mit GRANT OPTION an den Datenbankbenutzer JinghaoLiu erteilt.
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Erteilen der IMPERSONATE-Berechtigung für einen Benutzer an eine Anwendungsrolle
Im folgenden Beispiel wird die IMPERSONATE-Berechtigung für den Benutzer HamithaL an die AdventureWorks2025-Anwendungsrolle AccountsPayable17 erteilt.
Gilt für: SQL Server 2008 (10.0.x) und höher sowie SQL-Datenbank
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Siehe auch
DENY (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
REVOKE (Berechtigungen für Datenbankprinzipal) (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
BENUTZER ERSTELLEN (Transact-SQL)
ANWENDUNGSROLLE ERSTELLEN (Transact-SQL)
ROLLE ERSTELLEN (Transact-SQL)
ZUSCHUSS (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Prinzipale (Datenbank-Engine)