Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SSIS Integration Runtime in Azure Data Factory
SQL Server Data Tools (SSDT) e Microsoft Integration Services includono funzionalità e strumenti che è possibile usare per risolvere i problemi del flusso di controllo in un pacchetto di Integration Services.
Integration Services supporta i punti di interruzione nei contenitori e nelle attività.
SSIS Designer fornisce informazioni sullo stato di avanzamento durante l'esecuzione.
SQL Server Data Tools (SSDT) fornisce finestre di debug.
Punti di interruzione
Progettazione SSIS include 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 abilitati a livello di pacchetto oppure a livello di singolo componente. Se le condizioni di interruzione sono abilitate a livello di attività o contenitore, l'icona del punto di interruzione viene visualizzata accanto all'attività o al contenitore nell'area di progettazione della scheda Flusso di controllo. Se le condizioni di interruzione sono abilitate nel pacchetto, l'icona del punto di interruzione viene 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.
Integration Services offre dieci condizioni di interruzione che è possibile abilitare su tutte le attività e i contenitori. Nella finestra di dialogo Imposta punti di interruzione è possibile abilitare punti di interruzione per le condizioni seguenti:
| Condizione di interruzione | Descrizione |
|---|---|
| Quando l'evento OnPreExecute viene ricevuto dall'attività o dal contenitore. | 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'evento OnPostExecute viene ricevuto dall'attività o dal contenitore. | 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'evento OnError viene ricevuto dall'attività o dal contenitore. | 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 dell'attività quando si verifica un 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'evento OnVariableValueChanged viene ricevuto dall'attività o dal contenitore. | 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 . ** Avviso ** La variabile associata a questo punto di interruzione deve essere definita nell'ambito del contenitore. Se la variabile viene definita nell'ambito del pacchetto, il punto di interruzione non viene raggiunto. |
| Quando l'evento OnCustomEvent viene ricevuto dall'attività o dal contenitore. | Richiamato dalle attività per generare eventi personalizzati definiti dall'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. Ad esempio, per il contenitore Ciclo For è possibile abilitare una condizione di interruzione che imposta un punto 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 conteggio degli hit, ovvero la regola che specifica quando la condizione di interruzione attiva il punto di interruzione.
I tipi di conteggio dei riscontri, ad eccezione del tipo Sempre, sono ulteriormente qualificati dal conteggio dei riscontri. 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.
La tabella seguente descrive i tipi di conteggio degli hit.
| Tipo di conteggio degli accessi | Descrizione |
|---|---|
| Sempre | L'esecuzione viene sempre sospesa quando viene raggiunto il punto di interruzione. |
| Il numero di hit è 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 occorrenze multiplo | L'esecuzione viene sospesa quando il conteggio dei raggiungimenti è un multiplo. Se ad esempio questa opzione è impostata su 5, l'esecuzione verrà sospesa ogni cinque volte. |
Per impostare punti di interruzione
Report sullo stato di avanzamento
La finestra di progettazione SSIS include due tipi di segnalazione dell'avanzamento: la codifica a colori nella superficie di progettazione della scheda Flusso di controllo e i messaggi di avanzamento nella scheda Avanzamento.
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 arrestata, la codifica a colori non viene più utilizzata.
Nella tabella seguente vengono descritti i colori utilizzati per indicare lo stato dell'esecuzione.
| Colore | Stato dell'esecuzione |
|---|---|
| Grigio | In attesa di avvio |
| Giallo | In esecuzione |
| Verde | Eseguito correttamente. |
| evidenziato | Terminato con errori |
La scheda Stato elenca 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'arresto dell'esecuzione di un pacchetto, le informazioni sullo stato rimangono disponibili nella scheda Risultati esecuzione .
Nota
Per abilitare o disabilitare la visualizzazione dei messaggi nella scheda Avanzamento, attivare o disattivare l'opzione Segnalazione stato avanzamento debug nel menu SSIS.
Il diagramma illustra la scheda Stato .
Finestre di debug
SQL Server Data Tools (SSDT) include numerose finestre che è possibile usare 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 SQL Server Data Tools (SSDT), scegliere il menu Debug, scegliere Windows, quindi fare clic su Punti di interruzione, Output o Immediata.
Nella tabella seguente sono descritte le singole finestre.
| Finestra | Descrizione |
|---|---|
| Punti di interruzione | Elenca i punti di interruzione presenti in un pacchetto e include opzioni che consentono di abilitarli ed eliminarli. |
| Output | Visualizza i messaggi di stato per le funzionalità in SQL Server Data Tools (SSDT). |
| Immediato | Consente di valutare espressioni ed eseguirne il debug, nonché di visualizzare i valori delle variabili. |
Eseguire il debug di un pacchetto impostando punti di interruzione su un'attività o un contenitore
Questa procedura descrive come impostare punti di interruzione in un pacchetto, un'attività, un contenitore Ciclo For, un contenitore Ciclo Foreach o un contenitore Sequenza.
Per impostare punti di interruzione in un pacchetto, in un'attività o in un contenitore
In SQL Server Data Tools (SSDT) aprire il progetto di Integration Services che contiene il pacchetto desiderato.
Fare doppio clic sul pacchetto in cui si desidera impostare punti di interruzione.
In Progettazione SSIS eseguire una delle operazioni seguenti:
Per impostare punti di interruzione nell'oggetto di pacchetto, nella scheda Flusso di controllo posizionare il cursore in un punto qualsiasi dello sfondo dell'area di progettazione, fare clic con il pulsante destro del mouse e quindi scegliere Modifica punti di interruzione.
Per impostare punti di interruzione nel flusso di controllo di un pacchetto, nella scheda Flusso di controllo fare clic con il pulsante destro del mouse su un'attività o su un contenitore Ciclo For, Ciclo Foreach o Sequenza e quindi scegliere Modifica punti di interruzione.
Per impostare punti di interruzione in un gestore evento, nella scheda Gestore evento fare clic con il pulsante destro del mouse su un'attività o su un contenitore Ciclo For, Ciclo Foreach o Sequenza e quindi scegliere Modifica punti di interruzione.
Nella finestra di dialogo Imposta punti di interruzione <nome del contenitore>, selezionare i punti di interruzione da attivare.
Facoltativamente, modificare il tipo di passaggi e il numero di passaggi per ogni punto di interruzione.
Per salvare il pacchetto, scegliere Salva elementi selezionati dal menu File .
Impostare punti di interruzione
Utilizzare la finestra di dialogo Imposta punti di interruzione per specificare gli eventi su cui abilitare i punti di interruzione e per controllarne il funzionamento.
Opzioni
Abilitato
Seleziona per abilitare un punto di interruzione su un evento.
Condizione di interruzione
Consente di visualizzare un elenco di eventi disponibili sui quali è possibile impostare i punti di interruzione.
Tipo di conteggio degli accessi
Consente di specificare quando il punto di interruzione diventa effettivo.
| Valore | Descrizione |
|---|---|
| Sempre | L'esecuzione viene sempre sospesa quando viene raggiunto il 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 conteggio dei raggiungimenti è un multiplo. Se ad esempio questa opzione è impostata su 5, l'esecuzione verrà sospesa ogni cinque volte. |
Numero di accessi
Specificare il numero di hit al quale attivare un'interruzione. Questa opzione non è disponibile se il punto di interruzione è sempre attivo.