GRANT (Transact-SQL)
Aktualisiert: 12. Dezember 2006
Erteilt einem Prinzipal Berechtigungen für ein sicherungsfähiges Element.
Syntax
Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Argumente
ALL
Diese Option ist als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität beibehalten. Damit werden nicht alle möglichen Berechtigungen erteilt. Das Erteilen mit ALL entspricht dem Erteilen der folgenden Berechtigungen.- Falls es sich beim sicherungsfähigen Element um eine Datenbank handelt, schließt ALL die Berechtigungen BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE und CREATE VIEW ein.
- Falls es sich beim sicherungsfähigen Element um eine skalare Funktion handelt, schließt ALL die Berechtigungen EXECUTE und REFERENCES ein.
- Falls es sich beim sicherungsfähigen Element um eine Tabellenwertfunktion handelt, schließt ALL die Berechtigungen DELETE, INSERT, REFERENCES, SELECT und UPDATE ein.
- Falls es sich beim sicherungsfähigen Element um eine gespeicherte Prozedur handelt, steht ALL für EXECUTE.
- Falls es sich beim sicherungsfähigen Element um eine Tabelle handelt, schließt ALL die Berechtigungen DELETE, INSERT, REFERENCES, SELECT und UPDATE ein.
- Falls es sich beim sicherungsfähigen Element um eine Sicht handelt, schließt ALL die Berechtigungen DELETE, INSERT, REFERENCES, SELECT und UPDATE ein.
- PRIVILEGES
Aus Gründen der Kompatibilität mit SQL-92 eingeschlossen. Ändert das Verhalten von ALL nicht.
- permission
Der Name einer Berechtigung. Gültige Zuordnungen von Berechtigungen zu sicherungsfähigen Elementen werden in den Unterthemen weiter unten in diesem Dokument beschrieben.
- column
Gibt den Namen einer Spalte in einer Tabelle an, für die Berechtigungen erteilt werden. Die Klammern "()" 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 principal
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. Gültige Kombinationen finden Sie in den folgenden Unterthemen.
- GRANT OPTION
Gibt an, dass der Empfänger die angegebene Berechtigung auch anderen Prinzipalen erteilen kann.
- AS principal
Gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, sein Recht zum Erteilen der Berechtigung ableitet.
Hinweise
Die vollständige Syntax der GRANT-Anweisung ist sehr komplex. Das obige Syntaxdiagramm wurde vereinfacht, um die Aufmerksamkeit auf die Struktur zu lenken. Die vollständige Syntax für das Erteilen von Berechtigungen für spezifische sicherungsfähige Elemente wird in den unten aufgeführten Themen beschrieben.
Die REVOKE-Anweisung kann zum Entfernen von erteilten Berechtigungen verwendet werden, und mit der DENY-Anweisung kann verhindert werden, dass einem Prinzipal eine spezifische Berechtigung durch eine GRANT-Anweisung erteilt wird.
Durch das Erteilen einer Berechtigung wird DENY oder REVOKE für diese Berechtigung aus dem angegebenen sicherungsfähigen Element entfernt. Falls dieselbe Berechtigung aus einem höheren Bereich als dem des sicherungsfähigen Elements verweigert wird, hat DENY Vorrang. Das Aufheben der erteilten Berechtigung in einem höheren Bereich hat jedoch keinen 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.
Vorsicht: |
---|
In SQL Server 2005 hat eine DENY-Anweisung auf Tabellenebene keinen Vorrang vor einer GRANT-Anweisung auf Spaltenebene. Diese Inkonsistenz in der Berechtigungshierarchie wurde aus Gründen der Abwärtskompatibilität beibehalten. Dieses Verhalten wird in einer zukünftigen Version entfernt. |
Die gespeicherte Systemprozedur sp_helprotect gibt Informationen zu Berechtigungen für ein sicherungsfähiges Element auf Datenbankebene zurück.
Berechtigungen
Der Berechtigende (oder der mit der AS-Option angegebene Prinzipal) muss entweder selbst über die Berechtigung mit GRANT OPTION oder über eine höhere Berechtigung verfügen, in der die erteilte Berechtigung impliziert ist. Falls die AS-Option verwendet wird, gelten zusätzliche Anforderungen. Weitere Informationen hierzu finden Sie in den Themen zu einzelnen sicherungsfähigen Elementen.
Objektbesitzer können Berechtigungen für die Objekte erteilen, die sie besitzen. 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 SERVER-Berechtigung, z. B. Mitglieder der festen Serverrolle sysadmin, können jede Berechtigung für ein beliebiges sicherungsfähiges Element auf dem Server erteilen. Empfänger der CONTROL SERVER-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. Empfänger der CONTROL-Berechtigung in einem Schema können jede Berechtigung für jedes Objekt im Schema erteilen.
Beispiele
Die für ein sicherungsfähiges Element spezifische Syntax finden Sie in den folgenden Themen.
Anwendungsrolle |
GRANT (Berechtigungen für Datenbankprinzipal) (Transact-SQL) |
Assembly |
|
Asymmetrischer Schlüssel |
GRANT (Berechtigungen für asymmetrische Schlüssel) (Transact-SQL) |
Zertifikat |
|
Vertrag |
|
Datenbank |
|
Endpunkt |
|
Volltextkatalog |
|
Funktion |
|
Anmeldename |
|
Nachrichtentyp |
|
Objekt |
|
Warteschlange |
|
Remotedienstbindung |
|
Rolle |
GRANT (Berechtigungen für Datenbankprinzipal) (Transact-SQL) |
Route |
|
Schema |
|
Server |
|
Dienst |
|
Gespeicherte Prozedur |
|
Symmetrischer Schlüssel |
GRANT (Berechtigungen für symmetrische Schlüssel) (Transact-SQL) |
Synonym |
|
Systemobjekte |
|
Tabelle |
|
Typ |
|
Benutzer |
GRANT (Berechtigungen für Datenbankprinzipal) (Transact-SQL) |
Sicht |
|
XML-Schemaauflistung |
GRANT (Berechtigungen für XML-Schemaauflistungen) (Transact-SQL) |
Siehe auch
Verweis
DENY (Transact-SQL)
REVOKE (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
12. Dezember 2006 |
|