Erteilen von Berechtigungen für eine gespeicherte Prozedur

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 .

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

Verwenden von SQL Server Management Studio

So erteilen Sie Berechtigungen für eine gespeicherte Prozedur

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von 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

So erteilen Sie Berechtigungen für eine gespeicherte Prozedur

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

So erteilen Sie 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 Recruiting11 die EXECUTE-Berechtigung für alle gespeicherten Prozeduren erteilt, die im HumanResources-Schema vorhanden sind oder vorhanden sein werden.

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

Nächste Schritte