Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Esecuzione dello stesso pacchetto SSIS con parametri diversi in momenti diversi

La sfida con l'utilizzo di un approccio di file di configurazione è che avresti bisogno di modificare costantemente il file. SSIS non ricaricherà il file di configurazione dopo l'avvio, quindi potresti presumibilmente avere lavori delle 20:05 e delle 20:35 che scambiano i file di configurazione, ma a un certo punto diventeranno disordinati e si interromperanno.

Gestirei questa situazione con le variabili della riga di comando (/set option in dtexec ). Se stavi eseguendo il pacchetto dalla riga di comando, assomiglierebbe a dtexec.exe /file MyPackage.dtsx Anche se stai usando SQL Agent, dietro le quinte sta costruendo quegli argomenti della riga di comando.

Questo approccio presuppone che tu crei due diversi lavori (rispetto a 1 lavoro pianificato 2 volte al giorno). AgentMyPackage2011 ha una fase del lavoro di SSIS che risulta in

  • dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"

e AgentMyPackage2012 ha una fase di lavoro di SSIS che risulta in

  • dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"

Attraverso la GUI, sembrerebbe qualcosa di simile

Non esiste una GUI o un selettore per la proprietà che desideri configurare. Tuttavia, poiché hai già creato un file .dtsConfig per il tuo pacchetto, apri quel file e cerca una sezione come

<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>

Il file ha già il percorso della "cosa" che stai tentando di configurare, quindi inseriscilo nel tuo programma di chiamata e quindi disattiva la parte dell'anno della configurazione del pacchetto.

Infine, un collegamento a Precedenza configurazione SSIS poiché ci sono differenze nel modello 2005 vs 2008. Vedo che hai indicato 2008 nel tuo ticket ma per i futuri lettori, se stai utilizzando sia /SET che un'origine di configurazione (xml, sql server, registro, variabile di ambiente) l'ordine delle operazioni varia tra le versioni.