GRANT (Typberechtigungen) (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Erteilt die Berechtigungen für einen Typ.
Transact-SQL-Syntaxkonventionen
Syntax
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
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
Argumente
permission
Gibt eine Berechtigung an, die für einen Typ erteilt werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.
ON TYPE :: [ schema_name. ] type_name
Gibt den Typ an, für den die Berechtigung erteilt wird. Der Bereichsqualifizierer ( :: ) ist erforderlich. Wenn schema_name nicht angegeben ist, wird das Standardschema verwendet. Wenn schema_name angegeben ist, ist der Schemabereichsqualifizierer ( . ) erforderlich.
TO <Datenbankprinzipal> gibt den Prinzipal an, dem die Berechtigung zugewiesen wird.
WITH 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 Zuweisen 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
Gilt für: SQL Server 2008 (10.0.x) und höher
Gibt einen Datenbankbenutzer an, der einem Windows-Benutzer zugeordnet ist.
Database_user_mapped_to_Windows_Group
Gilt für: SQL Server 2008 (10.0.x) und höher
Gibt einen Datenbankbenutzer an, der einer Windows-Gruppe zugeordnet ist.
Database_user_mapped_to_certificate
Gilt für: SQL Server 2008 (10.0.x) und höher
Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.
Database_user_mapped_to_asymmetric_key
Gilt für: SQL Server 2008 (10.0.x) und höher
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.
Bemerkungen
Ein Typ ist ein sicherungsfähiges Element auf Schemaebene in dem Schema, das das übergeordnete Element in der Berechtigungshierarchie ist.
Wichtig
Die Berechtigungen GRANT, DENY und REVOKE gelten nicht für Systemtypen. Benutzerdefinierten Typen können Berechtigungen erteilt werden. Weitere Informationen zu benutzerdefinierten Typen finden Sie unter Arbeiten mit benutzerdefinierten Typen in SQL Server.
Die spezifischsten und restriktivsten Berechtigungen, die für einen Typ erteilt werden können, sind in der folgenden Tabelle aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.
Typberechtigung | Impliziert durch die Typberechtigung | Impliziert durch die Schemaberechtigung |
---|---|---|
CONTROL | CONTROL | CONTROL |
Führen Sie | CONTROL | Führen Sie |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Berechtigungen
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.
AS | Zusätzliche Berechtigung erforderlich |
---|---|
Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, die Mitgliedschaft in der festen Datenbankrolle db_securityadmin und db_owner oder die Mitgliedschaft in der festen Serverrolle sysadmin. |
Einem Windows-Anmeldenamen zugeordneter Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, die Mitgliedschaft in der festen Datenbankrolle db_securityadmin und db_owner oder die 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_securityadmin, Mitgliedschaft in der festen Datenbankrolle db_owner oder Mitgliedschaft in der festen Serverrolle sysadmin. |
Einem Serverprinzipal zugeordneter Datenbankbenutzer | IMPERSONATE-Berechtigung für den Benutzer, die Mitgliedschaft in der festen Datenbankrolle db_securityadmin und db_owner oder die Mitgliedschaft in der festen Serverrolle sysadmin. |
Datenbankrolle | 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. |
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. |
Beispiele
Im folgenden Beispiel wird die VIEW DEFINITION
-Berechtigung mit der GRANT OPTION
für den benutzerdefinierten PhoneNumber
-Typ dem Benutzer KhalidR
erteilt. PhoneNumber
befindet sich im Schema Telemarketing
.
GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR WITH GRANT OPTION;
GO
Weitere Informationen
DENY (Typberechtigungen) (Transact-SQL)
REVOKE (Typberechtigungen) (Transact-SQL)
CREATE TYPE (Transact-SQL)
Berechtigungen (Datenbank-Engine)
Sicherungsfähige Elemente
Prinzipale (Datenbank-Engine)