Domanda

Ecco il mio scenario: ho un lavoro SSIS che dipende dall'esecuzione di un altro lavoro SSIS precedente.Devo poter controllare lo stato del primo lavoro prima di avviare il secondo.Non è possibile aggiungere il secondo lavoro al flusso di lavoro del primo, poiché è già troppo complesso.Voglio essere in grado di controllare lo stato del primo lavoro (Non riuscito, Riuscito, Attualmente in esecuzione) da quello del secondo e utilizzarlo come condizione per decidere se eseguire il secondo o attendere un nuovo tentativo.So che questo può essere fatto interrogando il database MSDB su SQL Server che esegue il lavoro.Mi chiedo se esiste un modo più semplice, ad esempio utilizzando l'attività di lettura dati WMI?Qualcuno ha avuto questa esperienza?

È stato utile?

Soluzione

Potresti voler creare un terzo pacchetto che esegue il pacchetto A e poi il pacchetto B.Il terzo pacchetto conterrebbe solo due attività di esecuzione del pacchetto.

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig Una tabella di stato è un'opzione ma dovrai continuare a monitorarla.

Ecco un articolo sugli eventi in SSIS per la tua domanda originale.
http://www.databasejournal.com/features/mssql/article.php/3558006

Altri suggerimenti

Perché non usare un tavolo?Chiedi semplicemente al primo lavoro di aggiornare la tabella con il suo stato.Il secondo lavoro può utilizzare la tabella per verificare lo stato.Questo dovrebbe funzionare se leggo correttamente la domanda.La tabella dovrebbe (dovrebbe) avere solo una riga in modo da non compromettere le prestazioni e non dovrebbe causare alcun deadlock (ovviamente, ora che lo scrivo, accadrà) :)

@Jason:Sì, potresti monitorarlo o potresti fare in modo che un trigger avvii il secondo lavoro quando viene ricevuto lo stato finale.:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top