SQL Server SSIS-Paket von gespeicherter Prozedur ausführen

8

Ich habe ein SSIS-Paket, das in einer SQL Server 2005-Datenbank gespeichert ist. Ich versuche, dieses Paket von einer gespeicherten Prozedur auf demselben Server auszuführen. Gibt es einen besseren Weg als exec master..xp_cmdshell 'dtexec / SQL ...

Ich stoße in (glaube ich) Probleme mit Dateisystemberechtigungen mit xp_cmdshell, das die Ausführung verhindert

    
Cade Roux 28.05.2009, 21:06
quelle

3 Antworten

4

Ich denke nicht, hier sind zwei gute Artikel:

Ссылка

Ссылка

    
KM. 28.05.2009 21:27
quelle
4

Ich empfehle stattdessen, Agent zu verwenden:

  1. Erstellen Sie ein Agent-Proxy-Konto für das Konto, mit dem der Job ausgeführt wird
  2. Erstellen Sie einen Agentenjob, der dieses Paket ausführt
  3. Verwenden Sie das in # 1
  4. erstellte Proxy-Konto
  5. Testen Sie den Job
  6. Verwenden Sie im SQL-Code sp_start_job , um diesen Job zu starten

Der Nachteil ist, dass Sie die Parameter auf diese Weise nicht einfach von SQL auf das Paket übertragen können.

    
Michael 31.05.2009 01:49
quelle
0

Seit 2012 hat MSSQL einen SSIS-Katalog, in dem Sie Ihre Pakete dort ablegen können. Sie können dann ein Paket mit Parametern ausführen. Auf diese Weise können wir xp_cmdshell vermeiden, um dtexec oder sp_start_job ohne Parameter aufzurufen. Schlüssel-SPs: create_execution , set_execution_parameter_value und start_execution .

Von MSDN:

So führen Sie ein Paket auf dem Server mithilfe von SQL Server Management Studio

aus

Bereitstellen und Ausführen von SSIS Pakete mit gespeicherten Prozeduren

    
Irawan Soetomo 19.08.2015 07:48
quelle