28 Settembre 2022
Expand search form

Cosa sono i gestori di eventi in SSIS?

I pacchetti di SQL Server Integration Services (SSIS) vengono eseguiti quando invocati dagli utenti o in base a una pianificazione configurata. Generalmente, i pacchetti vengono eseguiti in background ed è difficile eseguire il debug dei pacchetti eseguibili se non si sono configurate proprietà aggiuntive per il debug. Dovremmo tenere a mente due cose quando sviluppiamo i pacchetti (1) registrazione e (2) gestione delle eccezioni. Come parte della gestione delle eccezioni, ci sono diversi punti di azione; a livello di contenitore o di task, output di errore a livello di sorgente, uso di gestori di eventi, ecc. In questo suggerimento dimostrerò come catturare gli errori in una tabella dei gestori di eventi per rivederli se si verifica un problema.

Soluzione

Ci sono molte ragioni per cui vengono generati errori in un pacchetto SSIS:

  • Compito automatico fallito.
  • Compito fallito a causa del fallimento del controllo degli antenati.
  • Si verifica un troncamento o un problema di connessione all’origine o alla destinazione.
  • Il fallimento della conversione accade.
  • Problemi di migrazione di file e dati di file.
  • Il pacchetto ha un errore dovuto ai privilegi dei controlli del sistema operativo.
  • Altri motivi di errore.

Quando si esegue il pacchetto, gli errori potrebbero essere generati ovunque all’interno del pacchetto. Quindi, come possiamo ottenere questi errori da diversi punti di azione dall’interno del pacchetto SSIS?

In questo suggerimento mostrerò come catturare gli errori in una tabella utilizzando Gestori di eventi.

Gestori di eventi in SQL Server Integration Services

SSIS ha dei gestori di eventi integrati che possono essere usati per catturare certi eventi quando si verificano durante l’esecuzione del pacchetto. A tempo di esecuzione, i contenitori eseguibili o i task sollevano eventi. Per esempio, un evento On Error viene sollevato quando si verifica un errore. Si possono costruire gestori di eventi personalizzati per questi eventi per estendere la funzionalità del pacchetto e si può specificare la modalità di transazione e di registrazione per i gestori di eventi.

I gestori di eventi possono eseguire più compiti come:

  • Ripulire l’archiviazione dei dati temporanei o gestire la cronologia dell’auditing in base all’esecuzione del pacchetto o alla fine di un’azione.
  • Recupero e cattura delle informazioni di sistema prima dell’esecuzione di un pacchetto.
  • Impostazione di un avviso via e-mail quando si verifica un avvertimento o quando un’attività fallisce.

Ci sono molti eventi di run time che possiamo usare durante l’esecuzione di un pacchetto di SQL Server Integration Services. Ecco ulteriori informazioni sui gestori di eventi.

Qui sotto potete vedere l’elenco dei gestori di eventi disponibili in un pacchetto SSIS. Ci concentreremo sul gestore di eventi OnError, che viene sollevato da un eseguibile quando si verifica un errore.

gestori di eventi

Gestore di eventi OnError del pacchetto SQL Server Integration Service

Impostare l’ambiente di test di SQL Server

Per prima cosa, impostiamo una tabella di database SQL Server per catturare gli eventi.

Aggiungere un file piatto a un’attività di flusso di dati

Sto aggiungendo un Data Flow Task nel Control Flow.

Prendere un compito di flusso di dati

Ora, aggiungerò la sorgente Flat File nel controllo Data Flow e configurerò il file “ErrorHandling.txt” per scopi di test.

Impostazione della connessione al file piatto

Ora, il mio pacchetto è pronto per l’esecuzione, lo eseguirò.

Prendere un file flat source e un file di setup

Il mio pacchetto viene eseguito con successo. Ora vado a configurare i gestori di eventi per catturare i dati nel registro degli errori.

Aggiungere il gestore di eventi OnError al pacchetto SSIS

Se fai clic sulla scheda Event Handlers nel pacchetto, vedrai un menu a tendina per i diversi Event Handler come mostrato di seguito. Sto per selezionare OnError per il pacchetto e aggiungere un Execute SQL Task alla sezione Event Handlers come mostrato sotto.

gestori di eventi del pacchetto ssis

Nell’Execute SQL Task, ho prima configurato la connessione al database per l ErrorHandling database. Ho configurato l’espressione per l’elemento sqlStatementSource come mostrato sotto, dove sto inserendo i dati nella tabella PackageError.

impostazione di un costruttore di espressioni

Test della gestione degli errori

Per testare questo, cambierò l’estensione del file flat da “CSV” ad “AVI” configurato nel file FlatFileSource. Questo dovrebbe far sì che il pacchetto crei un errore.

Possiamo vedere che il task Flat File Source è fallito, ma il task Execute SQL Task del gestore degli eventi ha scritto i dati nella tabella. Se interroghiamo PackageError possiamo vedere gli errori che sono stati generati.

Risultato finale del pacchetto

Riassunto

Seguite questi semplici passi per aggiungere il logging per i vostri pacchetti SSIS in modo da poter risolvere gli errori di esecuzione del pacchetto SSIS.

Potresti anche essere interessato agli argomenti

Cosa si intende per gestore di eventi?

Cos’è la gestione degli eventi? Event Handling è il meccanismo che controlla l’evento e decide cosa dovrebbe accadere se si verifica un evento. Questo meccanismo ha il codice che è noto come gestore di eventi che viene eseguito quando si verifica un evento. Java usa il Modello di Evento Delegazione per gestire gli eventi.

Continua…

Qual è la differenza tra gestore di eventi e logging in SSIS?

utilizzare la registrazione SSIS – impostare il tipo di provider su SQL Server e selezionare gli eventi da memorizzare in SQL Server. utilizzare i gestori di eventi sul pacchetto/task e utilizzare un task execute sql per salvare le informazioni in una tabella in SQL Server.Dec 5, 2012

Continua…

Perché abbiamo bisogno di un gestore di eventi?

Poiché il callback al delegato per la gestione degli eventi è fatto nel contesto del codice di rilancio e non del codice di terze parti, è possibile per il codice maligno di terze parti aggiungere un’operazione di sistema privilegiata come gestore di eventi e quindi potenzialmente eseguire un attacco di escalation dei privilegi eseguendo il codice nel tuo completamente …7 ott 2010

Continua…

Cos’è la registrazione degli eventi di SSIS?

SQL Server Integration Services include fornitori di log che potete usare per implementare il logging in pacchetti, container e task. Con la registrazione, è possibile catturare informazioni in tempo reale su un pacchetto, aiutandovi a controllare e risolvere i problemi di un pacchetto ogni volta che viene eseguito.29 ott…

Continua…

Qual è la funzione della scheda dei gestori di eventi in SSIS?

I gestori di eventi possono eseguire compiti come i seguenti: Ripulire l’archiviazione temporanea dei dati quando un pacchetto o un’attività termina l’esecuzione. Recuperare le informazioni di sistema per valutare la disponibilità delle risorse prima dell’esecuzione di un pacchetto. Aggiornare i dati in una tabella quando una ricerca in una tabella di riferimento fallisce.Oct 19, 2020

Continua…

I gestori di eventi possono essere utilizzati per la registrazione in SSIS?

A tempo di esecuzione, i contenitori eseguibili o i compiti sollevano eventi. Per esempio, un evento On Error viene sollevato quando si verifica un errore. È possibile costruire gestori di eventi personalizzati per questi eventi per estendere la funzionalità del pacchetto e possiamo specificare la transazione e la modalità di registrazione per i gestori di eventi.Sep 13, 2018

Continua…

Quali sono i ruoli degli eventi e dei gestori di eventi nella programmazione guidata dagli eventi?

Nella programmazione, un evento è un’azione che si verifica come risultato dell’utente o di un’altra fonte, come un clic del mouse. Un gestore di eventi è una routine che si occupa dell’evento, permettendo a un programmatore di scrivere codice che viene eseguito quando si verifica l’evento.Apr 26, 2017

Continua…

Cosa fa un ascoltatore di eventi?

Un ascoltatore di eventi è una procedura o una funzione in un programma per computer che aspetta che si verifichi un evento. … L’ascoltatore è programmato per reagire a un input o a un segnale chiamando il gestore dell’evento. Il termine ascoltatore di eventi è spesso specifico di Java e JavaScript.Nov 13, 2018

Continua…

Cos’è un evento e un gestore di eventi nella programmazione web?

Nella programmazione, un evento è un’azione che si verifica come risultato dell’utente o di un’altra fonte, come un clic del mouse. Un gestore di eventi è una routine che si occupa dell’evento, permettendo a un programmatore di scrivere codice che viene eseguito quando si verifica l’evento.Apr 26, 2017

Continua…

Quando dovrebbero essere caricati i gestori di eventi?

L’evento load si verifica quando il documento è stato completamente caricato, comprese le risorse dipendenti come i file JS, i file CSS e le immagini. Il sito e

Articolo precedente

Cosa posso usare se non ho un mixer a pale?

Articolo successivo

Come addestrare al vasino un cucciolo di Shih Tzu in casa?

You might be interested in …

Si possono portare i compagni in Dead Money?

L’unico modo per portare l’equipaggiamento in Dead Money è usare l’exploit dei compagni multipli. Quindi caricare un seguace, tranne Boone e Arcade, perché sono i due che non possono andarci, con gli oggetti che vuoi […]