Ausführung eines SSIS-Pakets mit SQL Server-Agent

Bei der Ausführung eines SQL Server Integration Services (SSIS) über den SQL Server-Agent im Microsoft SQL Server Management Studio bin ich auf folgendes Problem gestoßen. Außerhalb des SQL Server-Agenten konnte ich das SSIS-Paket erfolgreich ausführen. Beim Ausführen des gleichen Pakets über den SQL Server-Agent kam es zum Abbruch des Auftrags aufgrund eines Berechtigungsproblems. Das Paket wurde hierbei über den SQL Server-Agenten als Auftragsschritt ausgeführt:

 

 

Berechtigungsprobleme können verschiedene Ursachen haben. Zwei häufige Ursachen sind, dass das Benutzerkonto nicht über die erforderlichen Berechtigungen verfügt oder dass das Benutzerkonto nicht mit dem Pakethersteller übereinstimmt. Hierbei verhindert die Schutzebene des Pakets die Ausführung des Pakets von einem Auftragsschritt.

Um die Berechtigungsprobleme zu lösen muss das SSIS-Paket zusätzlich in der MSDB Datenbank des SQL Servers gespeichert werden.

Hierfür wechseln wir im SQL Server Management Studio zu den Integration Services:

 

 

Anschließend wird das SSIS-Paket in die gespeicherten Pakete des MSDB über “Paket importieren” hinzugefügt:

 

 

Wichtig ist hierbei, dass die Einstellung der Schutzebene auf “Serverspeicher und Rollen für Zugriffssteuerung verwenden” geändert wird:

 

 

Mit diesen Einstellungen ist es möglich, dass SSIS-Paket in den SQL Server-Agenten auszuführen. Hierfür wird beim Auftragsschritt der SSIS-Paketspeicher angegeben:

 

 

Durch dieses Vorgehen wird sichergestellt, dass das Paket vom Auftragsschritt aufgerufen und erfolgreich ausgeführt werden kann.