Può capitare spesso di dover schedulare l'esecuzione dei nostri SSIS, a volte anche ripetute volte nella stessa giornata. E non necessariamente si tratta di piani di manutenzione di database.. anzi le operazioni che SSIS ci consente sono fra le più disparate..
SQL Server 2005 (ma già le versioni precedenti lo permettevano) fornisce la possibilità di utilizzare i JOB, ovvero processi schedulabili sui quali si può definire una serie di STEP da eseguire..
Chiamare SSIS da un JOB SQL Server tramite STEP è ancora più semplice, visto che è stata implementata una nuova interfaccia direttamente sul JOB stesso.
Per accedere ad un nuovo JOB spostarsi con SQL Server Management Studio sull'icona dell'agent (deve essere attivo) e premere il tasto destro del mouse su
Jobs (Processi) --> New Process..:
La prima pagina fornita è quella delle caratteristiche generali, quali il nome del JOB, l'owner e la sua descrizione (indicatela
, serve sempre, sia a voi che agli altri che hanno accesso a quel job).
La pagina che a noi interessa veramente è quella degli STEPS (passaggi). Premere sul tasto
New per aggiungerne uno. Indicare il nome e nel tipo selezionare
SQL Server Integration Service:
Nella foto precedente vediamo selezionato il tab
General. In essa possiamo specificare la locazione del SSIS (Sql Server, File System o Package Store), l'eventuale tipologia di autenticazione ed infine l'eventuale percorso su disco. Ovviamente queste due opzioni si escludono a vicenda in base alla selezione antecedente.
Le altre sezioni, anch'esse di notevole importanza, sono:
Configurations, che consente l'aggiunta di più file di configurazione per il pacchetto
Command File, che consente l'aggiunta di file di comando per il pacchetto
Data Sources, che permette la modifica al volo della connectionstring relativa ad un connection manager
Execution Options, ovvero l'impostazione delle opzioni di esecuzione del pacchetto
Con il primo check imponiamo al SSIS di fermarsi nel caso in cui ci siano warning di validazione, come ad esempio quello ottenuto dalla possibile truncation di un campo sottostimato in termini di lunghezza.
Con il secondo imponiamo al SSIS di eseguire la convalida ma non l'esecuzione.
Inoltre si può indicare anche il numero massimo di file che possono essere eseguiti simultaneamente.
Ed infine è possibile attivare il checkpoint per il pacchetto.
Logging, che permette la creazione e la scrittura di file di LOG, se indicati come provider nel SSIS
Set Values, nella quale possono essere impostati i valori di variabili del pacchetto, siano esse di visibilità pacchetto o di oggetti contenuti in esso. E' possibile impostare inoltre valori di proprietà di oggetti del package.
La sintassi con cui indicare il percorso della variabile o della proprietà è la seguente:
\Package.Connections[nome_connessione].Properties[InitialCatalog] per le connessioni\Package\NomeOggetto.Properties[nomeproprietà] per gli oggetti del pacchetto\Package.Variables[MiaVariabile].Properties[nomeproprietà] per le variabili utente\Package.Properties[nomeproprietà] per le proprietà del package Verification, che consente la verifica della Build, dell'ID del pacchetto e dell'ID della versione
Command Line, ovvero la riga di comando tramite la quale lanciare il SSIS con le opzioni selezionate negli altri tab.
Ora, una volta definite tutte queste opzioni e configurazioni, è possibile procedere verso la finestra
Advanced, che ci permette di definire gli eventuali comportamenti da tenere nel caso in cui il nostro step vada o meno in errore. Diamo l'ok, indichiamo una schedulazione (nel tab
Schedule) ed il gioco è fatto. Non indicherò la schedulazione in quanto è pressochè identica a quella che già SQL Server 2000 ci fornisce.
Abbiamo un processo che lancia un SSIS, schedulato come meglio crediamo. Stay tuned!