Benutzer mit den meisten Antworten
SQL-JobUser ohne SA-Rechte

Frage
-
Hallo,
ich suche nach einer Möglichkeit, eine SQL-User ohne SA-Rechte zu erstellen der dafür gedacht ist, SQL-Agent-Jobs zu erstellen und auszuführen.
Aktuell habe ich folgendes getestet:
1. Der User ist nur der Server Rolle "public" zugeordnet.
2. MSDB-Datenbank sind folgende DB-Rollen aktiviert: SQLAgentOperatorRole, SQLAgentReaderRole und SQLAgentUserRole. Zusätzlich zum Test auch noch die DB-Rollen ssisadmin, ssisltduser, db_ssisoperator
3. Der User hat auf alle benötigten UserDB's execute Rechte.
4. Er hat Rechte alle benötigten Proxies zu verwenden.
5. Auf die Master DB hat er execute Rechte.
Problem:
1. Ich erstelle einen neuen SQL-Agent Job
2. In "New Job Step" wähle ich als Type "SQL Server Integration Services Package" aus
3. Package Source = File System
4. Package: Browse ich zu dem benötigten File und wähle es aus
5. Reiter Configurations, möchte ich ein Configuration File auswählen und klicke hierzu auf "Add"
Fehlermeldung:
TITLE: Microsoft SQL Server Management Studio
------------------------------Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)------------------------------
ADDITIONAL INFORMATION:An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)------------------------------The user does not have permission to perform this action.
The statement has been terminated. (Microsoft SQL Server, Error: 297)Wenn ich den User zum SA mache funktioniert es ohne Probleme.
Habt ihr eine Idee woran dies liegen könnte bzw. wie ich einem User die Rechte geben kann SSIS-Jobs zu erstellen ohne dass er SA-Rechte hat?
Grüße
Julian
Antworten
-
Hallo Elmar,
danke für deine Antwort. Ja ist in diesem Fall schwierig nachzuvollziehen. Der User hat Zugriff auf die benötigten Proxy-Konten und kann diese in den SSIS-Jobs auswählen.
Die Lösung meines Problems ist hier beschrieben:
https://technet.microsoft.com/en-us/library/hh213130(v=sql.120).aspx
Die Mitgliedschaft in den DB-Rollen ssisadmin, ssisltduser, db_ssisoperator wird nicht benötigt!
Grüße
Julian
- Als Antwort markiert Julian79 Freitag, 5. Mai 2017 12:28
Alle Antworten
-
Hallo Julian,
ohne die gleiche Umgebung ist das schwer anhand Deiner Anleitung nachzuvollziehen.
Generell muss unterscheiden zwischen der Anlage und Verwaltung von Aufträgen im SQL Server Agenten und dem Ausführen der in den Aufträgen enthaltenen Schritte (hier SSIS Pakete).
Das Einrichten kann im Zweifelsfall mit einem SA Konto erfolgen, so dass nur die spätere Ausführung in den Rechten limitiert abläuft.
Für die Ausführung als nicht SA brauchst du i. a. ein Proxy Konto, wie es beschrieben ist in Configure a User to Create and Manage SQL Server Agent Jobs.
Gruß Elmar -
Hallo Elmar,
danke für deine Antwort. Ja ist in diesem Fall schwierig nachzuvollziehen. Der User hat Zugriff auf die benötigten Proxy-Konten und kann diese in den SSIS-Jobs auswählen.
Die Lösung meines Problems ist hier beschrieben:
https://technet.microsoft.com/en-us/library/hh213130(v=sql.120).aspx
Die Mitgliedschaft in den DB-Rollen ssisadmin, ssisltduser, db_ssisoperator wird nicht benötigt!
Grüße
Julian
- Als Antwort markiert Julian79 Freitag, 5. Mai 2017 12:28