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 einem Prinzipal Berechtigungen für ein sicherungsfähiges Element. Das allgemeine Konzept ist .GRANT <some permission> ON <some object> TO <some user, login, or group> Eine allgemeine Diskussion zu Berechtigungen finden Sie unter Berechtigungen (Datenbank-Engine).
Transact-SQL-Syntaxkonventionen
Syntax
Syntax für SQL Server-, Azure SQL-Datenbank- und Fabric SQL-Datenbank.
-- Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ , ...n ] ) ] [ , ...n ]
[ ON [ class :: ] securable ] TO principal [ , ...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Syntax für Azure Synapse Analytics, Parallel Data Warehouse und Microsoft Fabric Warehouse.
GRANT
<permission> [ , ...n ]
[ ON [ <class_type> :: ] securable ]
TO principal [ , ...n ]
[ WITH GRANT OPTION ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
ALL
Diese Option ist als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität beibehalten. Sie gewährt nicht alle möglichen Berechtigungen. Die Gewährung ALL entspricht der Gewährung der folgenden Berechtigungen.
| Securable | Permissions |
|---|---|
| Database |
BACKUP DATABASE, BACKUP LOG, CREATE DATABASECREATE DEFAULTCREATE FUNCTIONCREATE PROCEDURE, CREATE RULE, , , , und CREATE TABLECREATE VIEW |
| Skalarfunktion |
EXECUTE und REFERENCES |
| Tabellenwertige Funktion |
DELETE, INSERT, REFERENCES, SELECT und UPDATE |
| Gespeicherte Prozedur | EXECUTE |
| Table |
DELETE, INSERT, REFERENCES, SELECT und UPDATE |
| View |
DELETE, INSERT, REFERENCES, SELECT und UPDATE |
PRIVILEGES
Aus Gründen der Kompatibilität mit ISO eingeschlossen. Ändert nicht das Verhalten von ALL.
permission
Der Name einer Berechtigung. Die gültigen Zuordnungen von Berechtigungen zu sicherungsfähigen Daten werden in den folgenden Abschnitten beschrieben.
column
Gibt den Namen einer Spalte in einer Tabelle an, für die Berechtigungen erteilt werden. Die Klammern ( und ) sind erforderlich.
class
Gibt die Klasse des sicherungsfähigen Elements an, für das die Berechtigung erteilt wird. Der Bereichsqualifizierer :: ist erforderlich.
securable
Gibt das sicherungsfähige Element an, für das die Berechtigung erteilt wird.
TO-Schulleiter
Der Name eines Prinzipals. Die Prinzipale, für die Berechtigungen für ein sicherungsfähiges Element erteilt werden können, sind abhängig vom jeweiligen sicherungsfähigen Element unterschiedlich. In den folgenden Abschnitten finden Sie gültige Kombinationen.
ZUSCHUSSOPTION
Gibt an, dass der Empfänger die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.
AS Schulleiter
Verwenden Sie die AS <principal> Klausel, um anzugeben, dass der Als Geber der Berechtigung aufgezeichnete Prinzipal ein anderer Prinzipal als die Person sein soll, die die Anweisung ausführt. Nehmen Wir beispielsweise an, dass der Benutzer Mary einen principal_id von 12, und der Benutzer Raul ist Prinzipal 15. Mary führt jetzt aus, die GRANT SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Tabelle gibt an, dass die sys.database_permissions Anweisung () obwohl grantor_principal_id15die Anweisung tatsächlich vom Benutzer Raul (12) ausgeführt Mary wurde.
Die Verwendung der Klausel wird in der AS Regel nur empfohlen, wenn Sie die Berechtigungskette explizit definieren müssen. Weitere Informationen finden Sie in der Zusammenfassung des Berechtigungsprüfungsalgorithmus.
Die Verwendung AS in dieser Anweisung impliziert nicht die Fähigkeit, einen anderen Benutzer zu imitieren.
Remarks
Die vollständige Syntax der GRANT Anweisung ist komplex. Das vorherige Syntaxdiagramm wurde vereinfacht, um die Aufmerksamkeit auf seine Struktur zu lenken. Die vollständige Syntax zum Erteilen von Berechtigungen für bestimmte sicherungsfähige Elemente wird in den artikeln beschrieben, die weiter unten in diesem Artikel aufgeführt sind.
Die REVOKE Anweisung kann verwendet werden, um erteilte Berechtigungen zu entfernen, und die DENY Anweisung kann verwendet werden, um zu verhindern, dass ein Prinzipal eine bestimmte Berechtigung über eine .GRANT
Das Erteilen einer Berechtigung entfernt DENY oder REVOKE von dieser Berechtigung für die angegebene sicherungsfähige Berechtigung. Wenn dieselbe Berechtigung in einem höheren Bereich verweigert wird, der die sicherungsfähige Berechtigung enthält, hat dies DENY Vorrang. Das Widerrufen der erteilten Berechtigung in einem höheren Bereich hat jedoch keine Vorrang.
Berechtigungen auf Datenbankebene werden innerhalb des Bereichs der angegebenen Datenbank erteilt. Wenn ein Benutzer Berechtigungen für Objekte in einer anderen Datenbank benötigt, erstellen Sie das Benutzerkonto in der anderen Datenbank oder erteilen dem Benutzerkonto Zugriff auf die aktuelle Datenbank und auf die andere Datenbank.
Caution
Eine Tabellenebene DENY hat keine Vorrang vor einer Spaltenebene GRANT. Diese Inkonsistenz in der Berechtigungshierarchie wurde aus Gründen der Abwärtskompatibilität beibehalten. Dieses Element wird in einer späteren Version entfernt.
Die sp_helprotect gespeicherte Systemprozedur meldet Berechtigungen für eine sicherungsfähige Datenbankebene.
In Microsoft Fabric CREATE USER kann derzeit nicht explizit ausgeführt werden. Wenn GRANT oder DENY ausgeführt wird, wird der Benutzer automatisch erstellt.
MIT GRANT-OPTION
Dies GRANT ... WITH GRANT OPTION gibt an, dass der Sicherheitsprinzipal, der die Berechtigung erhält, über die Möglichkeit verfügt, anderen Sicherheitskonten die angegebene Berechtigung zu erteilen. Wenn der Prinzipal, der die Berechtigung erhält, eine Rolle oder eine Windows-Gruppe ist, muss die AS Klausel verwendet werden, wenn die Objektberechtigung weiteren Benutzern gewährt werden muss, die keine Mitglieder der Gruppe oder Rolle sind. Da nur ein Benutzer anstelle einer Gruppe oder Rolle eine GRANT Anweisung ausführen kann, muss ein bestimmtes Mitglied der Gruppe oder Rolle die AS Klausel verwenden, um die Rolle oder Gruppenmitgliedschaft explizit aufzurufen, wenn die Berechtigung erteilt wird. Im folgenden Beispiel wird gezeigt, wie dies WITH GRANT OPTION verwendet wird, wenn sie einer Rolle oder Einer Windows-Gruppe erteilt wird.
-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION;
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestProc TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestProc TO User2 AS TesterRole;
Diagramm der SQL Server-Berechtigungen
Ein Posterdiagramm mit allen Datenbank-Engine Berechtigungen im PDF-Format finden Sie unter https://aka.ms/sql-permissions-poster.
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. Wenn Sie die AS Option verwenden, gelten zusätzliche Anforderungen. Weitere Informationen hierzu finden Sie im Artikel zu sicherungsfähigen Elementen.
Objektbesitzer können Berechtigungen für die Objekte erteilen, die sie besitzen. Prinzipale mit CONTROL Berechtigungen für eine sicherungsfähige Berechtigung können diese sicherungsfähigen Berechtigungen erteilen.
Berechtigungsempfänger CONTROL SERVER , z. B. Mitglieder der festen Serverrolle sysadmin , können jede Berechtigung für alle sicherungsfähigen Elemente auf dem Server erteilen. Erteilte CONTROL Berechtigungen für eine Datenbank, z. B. Mitglieder der db_owner festen Datenbankrolle, können jede Berechtigung für alle sicherungsfähigen Elemente in der Datenbank erteilen. Erteilte Berechtigungen CONTROL für ein Schema können beliebige Berechtigungen für jedes Objekt innerhalb des Schemas erteilen.
Examples
In der folgenden Tabelle sind die sicherungsfähigen Elemente und Artikel aufgeführt, in denen die für sicherungsfähige Elemente spezifische Syntax beschrieben wird.