Einzelnen Beitrag anzeigen

Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
434 Beiträge
 
Delphi 12 Athens
 
#7

AW: SQL-Skirpt oder sp soll nach Programmende weiter ausgeführt werden

  Alt 2. Mär 2022, 10:51
Mmh, also hast Du Dir "die beiden " Vorschläge mal angesehen? Es sind die gleichen, nur der eine Vorschlag hat einen anderen Begleittext als der andere.
Das habe ich natürlich bemerkt, sah aber keinen Grund dies zu kommentieren. Zwei gleiche Vorschläge sind weder schlechter als nur einer noch bedeutet es, dass es deshalb die beste Lösung für das Problem ist. Alte Börsenweisheit: "Die Mehrheit liegt meistens daneben - sonst wären wir alle reich"

Meine Kunden haben ihre IT physikalisch und administrativ an diverse Rechenzentren abgegeben. Meine Delphi-Anwendung verwendet eine SQL-AppRole, um auf die eigene Datenbank auf dem SQL-Server (bei diversen RZ) zuzugreifen. Diese AppRole ist Mitglied von db_owner. Somit verfügt meine Delphi-App über alle Berechtigungen innerhalb der Datenbank und kann somit alle Strukturen innerhalb der eigenen Datenbank (Tabellen, Sichten, Procs, Funcs usw.) erstellen, ändern oder löschen. Weder die AppRole noch die Anwender der Delphi-App (Windows-Authentifizierung) verfügen über Server-Rollen auf dem SQL-Server.

Für die Anlage eines Jobs mit sp_add_schedule sind jedoch folgende Berechtigungen erforderlich:
"Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Andere Benutzer müssen Mitglieder der festen SQL Server -Agent-Datenbankrollen in der msdb -Datenbank sein:
  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole


Das heißt: Nur SQL-Server-Administratoren können diese Jobs erstellen. Da weder meine AppRole noch meine Anwender SQL-Server-Administratoren sind, kann meine App diese Jobs nicht erstellen. Hierzu müssten Mitarbeiter in den Rechenzentren manuell eingreifen, indem sie die Jobs manuell erstellen oder jemandem die entsprechenden Berechtigungen erteilen. Und spätestens an dieser Stelle erklärt sich der Begriff "hinterher telefonieren". Das geht leider gar nicht.

Deshalb suche ich immer nach Möglichkeiten, die Dinge quasi mit "Bordmitteln" und ohne fremde Hilfe (Serveradmins) umzusetzen.
  Mit Zitat antworten Zitat