Execute Stored Procedure – Berechtigung zum Ausführen erteilen – Tipp

Manchmal muss ein Benutzer die Berechtigung für das Ausführen (execute) der Store Procedure bzw. „gespeicherten Prozedur“ erhalten.

Leider bietet MS SQL-Server keine vorgefertigte Datenbankrolle, die nur das Recht „Ausführen“ enthält. Aus diesem Grund werden wir eine neue Datenbankrolle „proc_executor“ erstellen und die Berechtigung zum Ausführen erteilen.

Execute Stored Procedure – Berechtigung zum Ausführen erteilen

Datenbankrolle erstellen

SSMS öffnen.

Im Studio die Datenbank auswählen, die die neue Datenbankrolle für die Ausführung der Stored Procedures erhalten soll.

Mit der rechten Maustaste auf diese DB klicken und „Neue Abfrage“ öffnen.

SSMS - SQL Server Management Studio 2012 - Datenbanken - Kontextmenü - Neue Abfrage - Button

Folgende Zeilen in das geöffnete Abfrage-Fenster eintragen.

CREATE ROLE proc_executor
GRANT EXECUTE TO proc_executor

Und im Menü auf den Button „Ausführen“ klicken.

SSMS - SQL Server Management Studio 2012 - Symbolleiste - Ausführen - Button

Datenbankrolle dem Benutzer zuweisen

Nachdem nun die Datenbankrolle erstellt ist, müssen wir dem Benutzer, der das Recht zum Ausführen der Stored Procedures erhalten soll, die Mitgliedschaft in dieser Rolle konfigurieren.

Dazu im Objekt-Explorer, unter Sicherheit > Anmeldungen den gewünschten Benutzer mit der rechten Maustaste anklicken und Eigenschaften aus dem Kontextmenü öffnen.

SSMS - SQL Server Management Studio 2012 - Sicherheit - Anmeldungen - Benutzer - Kontextmenü - Eigenschaften

Im Fenster „Anmeldungseigenschaften“ im Bereich „Seite auswählen“ den Punkt „Benutzerzuordnung“ auswählen.

SSMS - SQL Server Management Studio 2012 - Sicherheit - Anmeldungen - Benutzer - Anmeldungseigenschaften - Benutzerzuordnung

Oben rechts, im Bereich „Benutzer, die dieser Anmeldung zugeordnet sind“ die Datenbank aktivieren (Häkchen setzen), auf die der Benutzer das Recht zum Ausführen erhalten soll.

Unten rechts, im Bereich „Mitgliedschaft in Datenbankrolle für: <DB>“ die zuvor erstellte Datenbankrolle „proc_executor“ aktivieren.

SSMS - SQL Server Management Studio 2012 - Sicherheit - Anmeldungen - Benutzer - Anmeldungseigenschaften - Mitgliedschaft in Datenbankrolle - proc_executor

Nun kann der ausgewählte Benutzer stored procedures in der ausgewählten DB ausführen.

Ein Gedanke zu „Execute Stored Procedure – Berechtigung zum Ausführen erteilen – Tipp“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert