Erteilen von Berechtigungen für eine gespeicherte Prozedur
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
In diesem Artikel wird beschrieben, wie Sie Berechtigungen für eine gespeicherte Prozedur in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erteilen. Berechtigungen können einem vorhandenen Benutzer, einer Datenbankrolle oder einer Anwendungsrolle in der Datenbank erteilt werden.
Einschränkungen
- SQL Server Management Studio kann nicht verwendet werden, um Berechtigungen für Systemprozeduren oder Systemfunktionen zu erteilen. Verwenden Sie stattdessen GRANT (Objektberechtigungen) (Transact-SQL).
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. Erfordert die ALTER
-Berechtigung im Schema, zu der die Prozedur gehört, oder die CONTROL
-Berechtigung für die Prozedur. Weitere Informationen finden Sie unter GRANT Objektberechtigungen.
Verwenden von SQL Server Management Studio
So erteilen Sie Berechtigungen für eine gespeicherte Prozedur
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der Datenbank-Engine her, und erweitern Sie dann diese Instanz.
Erweitern Sie Datenbanken, erweitern Sie die Datenbank, zu der die Prozedur gehört, und erweitern Sie dann Programmierbarkeit.
Klappen Sie Gespeicherte Prozeduren aus, klicken Sie mit der rechten Maustaste auf die Prozedur, für die Sie Berechtigungen erteilen möchten, und klicken Sie anschließend auf Eigenschaften.
Wählen Sie in Eigenschaften der gespeicherten Prozedurdie Seite Berechtigungen aus.
Klicken Sie auf Suchen, um Benutzer*innen, einer Datenbankrolle oder einer Anwendungsrolle Berechtigungen zu erteilen.
Klicken Sie unter Benutzer oder Rollen auswählen auf Objekttypen, um die gewünschten Benutzer*innen und Rollen hinzuzufügen bzw. zu löschen.
Klicken Sie auf Durchsuchen, um die Liste der Benutzer*innen oder Rollen anzuzeigen. Wählen Sie die Benutzer bzw. Rollen aus, denen Berechtigungen gewährt werden sollen.
Wählen Sie im Raster Explizite Berechtigungen die Berechtigungen aus, die Sie dem angegebenen Benutzer bzw. der angegebenen Rolle erteilen möchten. Eine Beschreibung der Berechtigungen finden Sie unter Berechtigungen (Datenbank-Engine).
Durch Auswahl von Erteilen wird angegeben, dass der Empfänger die angegebene Berechtigung erhält. Durch Auswahl von Mit Erteilung wird angegeben, dass der Empfänger außerdem die angegebene Berechtigung anderen Prinzipalen erteilen kann.
Verwenden von Transact-SQL
So erteilen Sie Berechtigungen für eine gespeicherte Prozedur
Stellen Sie eine Verbindung mit dem Datenbank-Engineher.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im folgenden Beispiel wird die
EXECUTE
-Berechtigung für die gespeicherte ProzedurHumanResources.uspUpdateEmployeeHireInfo
einer Anwendungsrolle mit dem NamenRecruiting11
erteilt.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
So erteilen Sie Berechtigungen für alle gespeicherten Prozeduren in einem Schema
Stellen Sie eine Verbindung mit dem Datenbank-Engineher.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. In diesem Beispiel wird einer Anwendungsrolle namens
Recruiting11
dieEXECUTE
-Berechtigung für alle gespeicherten Prozeduren erteilt, die imHumanResources
-Schema vorhanden sind oder vorhanden sein werden.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO