Pianificare l'esecuzione del pacchetto SQL Server Integration Services in Linux con cron

Si applica a:SQL Server - Linux

Se SQL Server Integration Services (SSIS) e SQL Server vengono eseguiti in Windows, è possibile automatizzare l'esecuzione dei pacchetti SSIS tramite SQL Server Agent. Se vengono eseguiti in Linux, tuttavia, l'utilità SQL Server Agent per la pianificazione dei processi non è disponibile. In questo caso si usa il servizio cron, ampiamente usato nelle piattaforme Linux per automatizzare l'esecuzione dei pacchetti.

Questo articolo offre alcuni esempi che illustrano come automatizzare l'esecuzione di pacchetti SSIS. Gli esempi sono destinati all'esecuzione in Red Hat Enterprise ma il codice per altre distribuzioni di Linux, ad esempio per Ubuntu, è simile.

Prerequisiti

Prima di usare il servizio cron per eseguire i processi, controllare se è in esecuzione nel computer.

Per controllare lo stato del servizio cron, usare il comando seguente:

systemctl status crond.service

Se il servizio non è attivo, ovvero non è in esecuzione, rivolgersi all'amministratore per installare e configurare correttamente il servizio cron.

Creare commesse

Un processo cron è un'attività di cui è possibile configurare l'esecuzione regolare in base a un intervallo specificato. Il processo può essere semplicemente un comando normalmente digitato direttamente nella console o può essere eseguito come script della shell.

Per semplificare la gestione e la manutenzione, è consigliabile inserire i comandi per l'esecuzione dei pacchetti in uno script con un nome descrittivo.

Ecco un esempio di un semplice script della shell per l'esecuzione di un pacchetto. Contiene un unico comando, ma è possibile aggiungere altri comandi in base alle esigenze.

# A simple shell script that contains a simple package execution command
# Script name: SSISpackageName.daily

/opt/ssis/bin/dtexec /F yourSSISpackageName.dtsx >> $HOME/tmp/out 2>&1

Pianificare i processi con il servizio cron

Dopo aver definito i processi, è possibile pianificarne l'esecuzione automatica usando il servizio cron.

Per aggiungere il processo a cron per l'esecuzione, aggiungerlo nel file crontab. Per aprire il file crontab in un editor in cui sia possibile aggiungere o aggiornare il processo, usare il comando seguente:

crontab -e

Per pianificare l'esecuzione del processo descritto in precedenza ogni giorno alle 2.10, aggiungere la riga seguente al file crontab:

# run <SSIS package name> at 2:10 AM every day
10 2 * * * $/HOME/SSIS/jobs/SSISpackageName.daily

Salvare il file crontab e quindi uscire dall'editor.

Per comprendere il formato del comando di esempio, vedere le informazioni della sezione seguente.

Formato di un file crontab

L'immagine seguente offre la descrizione del formato della riga del processo aggiunta al file crontab.

Screenshot of the format description for a crontab file entry.

Per una descrizione più dettagliata del formato del file crontab, usare il comando seguente:

man 5 crontab

Ecco un esempio parziale dell'output che facilita la comprensione dell'esempio in questo articolo:

Screenshot of a detailed partial description of crontab format.