Debug del flusso di controllo
Business Intelligence Development Studio e MicrosoftIntegration Services includono funzionalità e strumenti che è possibile utilizzare per la risoluzione dei problemi del flusso di controllo di un pacchetto di Integration Services.
Integration Services supporta l'utilizzo di punti di interruzione in contenitori e attività.
Progettazione SSIS genera report di stato in fase di esecuzione.
In Business Intelligence Development Studio sono disponibili finestre di debug.
Punti di interruzione
In Progettazione SSIS è disponibile la finestra di dialogo Imposta punti di interruzione, che consente di impostare punti di interruzione attivando condizioni di interruzione e specificando per quante volte può essere rilevato un punto di interruzione prima che l'esecuzione del pacchetto venga sospesa. I punti di interruzione possono essere attivati a livello di pacchetto oppure a livello di singolo componente. Se le condizioni di interruzione vengono attivate a livello di attività o di contenitore, nell'area di progettazione della scheda Flusso di controllo accanto all'attività o al contenitore verrà visualizzata l'icona del punto di interruzione. Se le condizioni di interruzione vengono attivate a livello di pacchetto, l'icona del punto di interruzione verrà visualizzata sull'etichetta della scheda Flusso di controllo.
Quando viene rilevato un punto di interruzione, la relativa icona viene modificata in modo da aiutare l'utente a identificarne l'origine. È possibile aggiungere, eliminare e modificare i punti di interruzione durante l'esecuzione del pacchetto.
In Integration Services sono disponibili condizioni di interruzione che è possibile attivare su tutte le attività e i contenitori. Nella finestra di dialogo Imposta punti di interruzione è possibile attivare punti di interruzione per le condizioni seguenti:
Condizione di interruzione |
Descrizione |
---|---|
Quando l'attività o il contenitore riceve l'evento OnPreExecute. |
Viene chiamata quando l'attività sta per essere eseguita. Questo evento viene generato da un'attività o da un contenitore immediatamente prima della sua esecuzione. |
Quando l'attività o il contenitore riceve l'evento OnPostExecute. |
Viene chiamata immediatamente dopo il termine della logica di esecuzione dell'attività. Questo evento viene generato da un'attività o da un contenitore immediatamente dopo la sua esecuzione. |
Quando l'attività o il contenitore riceve l'evento OnError. |
Viene chiamata da un'attività o un contenitore quando si verifica un errore. |
Quando l'attività o il contenitore riceve l'evento OnWarning. |
Viene chiamata quando l'attività è in uno stato che non giustifica un errore, ma richiede la visualizzazione di un avviso. |
Quando l'attività o il contenitore riceve l'evento OnInformation. |
Viene chiamata quando l'attività deve fornire informazioni. |
Quando l'attività o il contenitore riceve l'evento OnTaskFailed. |
Viene chiamata dall'host delle attività in caso di errore. |
Quando l'attività o il contenitore riceve l'evento OnProgress. |
Viene chiamata per aggiornare le informazioni sullo stato di esecuzione dell'attività. |
Quando l'attività o il contenitore riceve l'evento OnQueryCancel. |
Viene chiamata in qualsiasi momento dell'elaborazione dell'attività in cui è possibile annullare l'esecuzione. |
Quando l'attività o il contenitore riceve l'evento OnVariableValueChanged. |
Viene chiamata dal runtime di Integration Services quando il valore di una variabile viene modificato. Affinché venga generato questo evento, il valore della proprietà RaiseChangeEvent della variabile deve essere impostato su true. |
Quando l'attività o il contenitore riceve l'evento OnCustomEvent. |
Viene chiamata dalle attività per generare eventi personalizzati definiti per le singole attività. |
Oltre a quelle disponibili per tutte le attività e i contenitori, alcuni contenitori e attività includono speciali condizioni di interruzione per l'impostazione dei punti di interruzione. Per il contenitore Ciclo For è ad esempio possibile attivare una condizione di interruzione che sospende l'esecuzione all'inizio di ogni iterazione del ciclo.
Per aumentare la flessibilità e l'efficacia di un punto di interruzione, è possibile modificarne il comportamento specificando le opzioni seguenti:
Il numero di passaggi, ovvero il massimo numero di volte per cui può verificarsi una condizione di interruzione prima che l'esecuzione venga sospesa.
Il tipo di passaggi, ovvero la regola che specifica in quali casi la condizione di interruzione deve attivare il punto di interruzione.
Ad eccezione del tipo Sempre, il tipo di passaggi è ulteriormente qualificato dall'opzione Passaggi. Se ad esempio il tipo è "Numero di passaggi uguale a" e l'opzione Passaggi è 5, l'esecuzione verrà sospesa alla sesta occorrenza della condizione di interruzione.
Nella tabella seguente vengono descritti i tipi di passaggi disponibili.
Tipo di passaggi |
Descrizione |
---|---|
Sempre |
L'esecuzione viene sempre sospesa al rilevamento di un punto di interruzione. |
Numero di passaggi uguale a |
L'esecuzione viene sospesa quando il punto di interruzione viene rilevato per un numero di volte uguale al numero di passaggi specificato. |
Numero di passaggi maggiore o uguale a |
L'esecuzione viene sospesa quando il punto di interruzione viene rilevato per un numero di volte maggiore o uguale al numero di passaggi specificato. |
Numero di passaggi multiplo di |
L'esecuzione viene sospesa quando il punto di interruzione viene rilevato per un numero di volte multiplo del numero di passaggi specificato. Se ad esempio questa opzione è impostata su 5, l'esecuzione verrà sospesa ogni cinque volte. |
Per impostare punti di interruzione
Report di stato
In Progettazione SSIS sono disponibili due tipi di report di stato: stato con codifica a colori sull'area di progettazione della scheda Flusso di controllo e messaggi di stato visualizzati sulla scheda Stato.
Durante l'esecuzione di un pacchetto, Progettazione SSIS indica l'avanzamento dell'esecuzione visualizzando ogni attività o contenitore con un colore che ne indica lo stato di esecuzione. Dal colore è possibile capire se l'elemento è in attesa di esecuzione, in fase di esecuzione, ha terminato l'esecuzione o è stato interrotto senza completare l'esecuzione. Quando l'esecuzione del pacchetto viene interrotta, la codifica a colori non viene più utilizzata.
Nella tabella seguente vengono descritti i colori utilizzati per indicare lo stato dell'esecuzione.
Colore |
Stato esecuzione |
---|---|
Grigio |
In attesa di esecuzione. |
Giallo |
In esecuzione. |
Verde |
L'esecuzione è stata completata. |
Rosso |
Il componente è stato eseguito con errori. |
Nella scheda Stato sono elencati i contenitori e le attività in ordine di esecuzione, oltre all'ora di inizio e di fine, agli avvisi e ai messaggi di errore. Dopo l'interruzione dell'esecuzione di un pacchetto, le informazioni sullo stato rimangono disponibili nella scheda Risultati esecuzione.
[!NOTA]
Per abilitare o disabilitare la visualizzazione di messaggi nella scheda Stato, attivare o disattivare l'opzione Debug report di stato del menu SSIS.
Nella figura seguente viene illustrata la scheda Stato.
Finestre di debug
In Business Intelligence Development Studio, un ambiente di sviluppo basato su MicrosoftVisual Studio 2008, sono disponibili numerose finestre che è possibile utilizzare per la gestione dei punti di interruzione e per il debug dei pacchetti contenenti punti di interruzione. Per ulteriori informazioni su una finestra specifica, aprirla e premere F1 per visualizzare l'argomento della Guida corrispondente.
Per aprire queste finestre in Business Intelligence Development Studio, scegliere Finestre dal menu Debug e quindi Punti di interruzione, Output o Controllo immediato.
Nella tabella seguente vengono descritte le finestre disponibili.
Finestra |
Descrizione |
---|---|
Punti di interruzione |
Elenca i punti di interruzione presenti in un pacchetto e include opzioni che consentono di attivarli ed eliminarli. |
Output |
Visualizza messaggi di stato per le funzionalità di Business Intelligence Development Studio. |
Controllo immediato |
Consente di valutare espressioni ed eseguirne il debug, nonché di visualizzare i valori delle variabili. |
|