Teilen über


Erteilen von Berechtigungen für eine gespeicherte Prozedur

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

In diesem Artikel wird beschrieben, wie Sie Berechtigungen für eine gespeicherte Prozedur 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

Erlaubnisse

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 (Transact-SQL).

Verwenden von SQL Server Management Studio

Erteilen von Berechtigungen für eine gespeicherte Prozedur

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der Datenbank-Engine her, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie Datenbanken, erweitern Sie die Datenbank, zu der die Prozedur gehört, und erweitern Sie dann Programmierbarkeit.

  3. 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.

  4. Wählen Sie in Eigenschaften der gespeicherten Prozedurdie Seite Berechtigungen aus.

  5. Klicken Sie auf Suchen, um Benutzer*innen, einer Datenbankrolle oder einer Anwendungsrolle Berechtigungen zu erteilen.

  6. Klicken Sie unter Benutzer oder Rollen auswählen auf Objekttypen, um die gewünschten Benutzer*innen und Rollen hinzuzufügen bzw. zu löschen.

  7. 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.

  8. 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

Erteilen von Berechtigungen für eine gespeicherte Prozedur

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Wählen Sie auf der Symbolleiste "Neue Abfrage" aus.

  3. 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 Prozedur HumanResources.uspUpdateEmployeeHireInfo einer Anwendungsrolle mit dem Namen Recruiting11erteilt.

USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
    TO Recruiting11;
GO

Erteilen von Berechtigungen für alle gespeicherten Prozeduren in einem Schema

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. In diesem Beispiel wird einer Anwendungsrolle namens EXECUTE die HumanResources-Berechtigung für alle gespeicherten Prozeduren erteilt, die im Recruiting11-Schema vorhanden sind oder vorhanden sein werden.

USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;
GO