Condividi tramite


Implementazione della registrazione nei pacchetti

Data aggiornamento: 15 settembre 2007

In SQL Server 2005 Integration Services (SSIS) sono disponibili funzionalità di registrazione che scrivono voci di log quando si verificano eventi di run-time e sono in grado di scrivere anche messaggi personalizzati.

Integration Services supporta un'ampia gamma di provider di log e consente di creare provider di log personalizzati. I provider di log di Integration Services possono scrivere voci di log in file di testo, SQL Server Profiler, SQL Server, Registro eventi di Windows e file XML.

I log sono associati ai pacchetti e vengono configurati a livello del pacchetto. Ogni attività o contenitore di un pacchetto può registrare informazioni in qualsiasi log del pacchetto. Le attività e i contenitori di un pacchetto possono essere attivati per la registrazione anche se per il pacchetto la registrazione non è stata attivata. È possibile, ad esempio, attivare la registrazione in un'attività Esegui SQL senza attivarla nel pacchetto padre. Un pacchetto, un contenitore o un'attività possono registrare voci in più log. È possibile scegliere di attivare la registrazione solo sul pacchetto oppure su ogni singolo contenitore o attività presente nel pacchetto.

Per la personalizzazione della registrazione di un evento o la creazione di un messaggio personalizzato, in Integration Services è disponibile uno schema di informazioni registrate comunemente, che è possibile includere nelle voci di log. Lo schema del log di Integration Services delinea le informazioni che è possibile registrare. È possibile selezionare elementi dallo schema per ogni voce di log.

Un pacchetto e le attività e i contenitori associati non devono necessariamente registrare le stesse informazioni. Inoltre le singole attività incluse in un pacchetto o contenitore possono registrare informazioni diverse. Ad esempio, un pacchetto potrebbe registrare informazioni relative agli operatori quando viene avviato, una delle attività potrebbe registrare la causa dell'esito negativo dell'attività e un'altra attività potrebbe registrare informazioni quando si verificano errori. Se un pacchetto e le attività e i contenitori associati utilizzano più log, in tutti i log vengono registrate le stesse informazioni.

È possibile selezionare il livello di registrazione più adatto alle proprie esigenze specificando gli eventi e le informazioni di ogni evento da registrare. A seconda delle specifiche esigenze le informazioni fornite da alcuni eventi potrebbero risultare più utili rispetto a quelle di altri eventi. Potrebbe risultare utile, ad esempio, registrare solo il nome del computer e dell'operatore dell'evento PreExecute, ma tutte le informazioni disponibili per l'evento Error.

Per impedire che i file di log utilizzino una quantità di spazio su disco elevata o per evitare un'attività di registrazione eccessiva che potrebbe influire negativamente sulle prestazioni, è possibile selezionare gli eventi e le informazioni da registrare. È possibile, ad esempio, configurare un log in modo che per ogni errore vengano registrati solo il nome del computer e la data.

Nella finestra di dialogo Configura log SSIS di Progettazione SSIS sono disponibili le opzioni di registrazione.

Schema del log

Nella tabella seguente vengono descritti gli elementi dello schema del log.

Elemento Descrizione

Computer

Nome del computer in cui è stato generato l'evento.

Operator

Identifica l'utente che ha avviato il pacchetto.

SourceName

Nome del contenitore o dell'attività in cui è stato generato l'evento.

SourceID

Identificatore univoco del pacchetto, contenitore Ciclo For, Ciclo Foreach o Sequenza oppure attività in cui è stato generato l'evento.

ExecutionID

GUID dell'istanza di esecuzione del pacchetto.

MessageText

Messaggio associato alla voce di log.

DataBytes

Matrice di byte specifica della voce di log. Il significato di questo campo varia a seconda della voce di log.

Nella tabella seguente sono descritti tre elementi aggiuntivi nello schema di registro che non sono visualizzati nella scheda Dettagli della finestra di dialogo Configura log SSIS.

Elemento Descrizione

StartTime

L'orario in cui inizia l'esecuzione del contenitore o dell'attività.

EndTime

L'orario in cui termina l'esecuzione del contenitore o dell'attività.

DataCode

Un valore integer opzionale che in genere contiene un valore dall'enumerazione DTSExecResult che indica il risultato dell'esecuzione del contenitore o dell'attività:

  • 0 - Esito positivo.
  • 1 - Esito negativo.
  • 2 - Completato
  • 3 - Annullato

Voci di log

Integration Services supporta voci di log per gli eventi predefiniti e offre voci di log personalizzate per molti ogggetti di Integration Services. Tali eventi e voci di log personalizzate sono elencati nella finestra di dialogo Configura log SSIS di Progettazione SSIS.

Nella tabella seguente vengono descritti gli eventi predefiniti che è possibile attivare per scrivere voci di log quando si verificano eventi di run-time. Queste voci sono relative ai file eseguibili, al pacchetto e alle attività e ai contenitori inclusi nel pacchetto. Il nome della voce di log corrisponde al nome dell'evento di run-time che è stato generato e che ha causato la scrittura della voce.

Eventi Descrizione

OnError

Viene registrata una voce di log in corrispondenza di un errore.

OnExecStatusChanged

Viene registrata una voce di log quando lo stato di esecuzione del file eseguibile cambia.

OnInformation

Viene registrata una voce di log durante la convalida e l'esecuzione di un file eseguibile per la visualizzazione di informazioni.

OnPostExecute

Viene registrata una voce di log non appena l'esecuzione del file eseguibile viene completata.

OnPostValidate

Viene registrata una voce di log dopo la convalida del file eseguibile.

OnPreExecute

Viene registrata una voce di log immediatamente prima dell'esecuzione del file eseguibile.

OnPreValidate

Viene registrata una voce di log all'avvio della convalida del file eseguibile.

OnProgress

Viene registrata una voce di log dopo un avanzamento percettibile dell'esecuzione del file eseguibile.

OnQueryCancel

Viene registrata una voce di log in qualsiasi momento dell'elaborazione dell'attività in cui è possibile annullare l'esecuzione.

OnTaskFailed

Viene registrata una voce di log quando un'attività ha esito negativo.

OnVariableValueChanged

Viene registrata una voce di log quando il valore di una variabile viene modificato.

OnWarning

Viene registrata una voce di log in corrispondenza di un avviso.

Per il pacchetto e per molte attività sono disponibili voci di log personalizzate che è possibile attivare per la registrazione. Per l'attività Invia messaggi è ad esempio disponibile la voce di log personalizzata SendMailTaskBegin, che registra informazioni quando l'attività viene avviata, ma prima che invii un messaggio di posta elettronica. Per ulteriori informazioni, vedere Messaggi personalizzati per la registrazione.

Differenziazione delle copie di un pacchetto

I dati del log includono il nome e il GUID del pacchetto a cui appartengono le voci di log. Se si crea un nuovo pacchetto copiando un pacchetto esistente, verranno copiati anche il nome e il GUID del pacchetto esistente. Possono essere pertanto presenti due pacchetti con nome e GUID uguali e questo può impedire di distinguere tali pacchetti nei dati del log.

Per eliminare questa ambiguità, è consigliabile modificare il nome e il GUID dei nuovi pacchetti. In Business Intelligence Development Studio è possibile rigenerare il GUID nella proprietà ID e modificare il valore della proprietà Name nella finestra Proprietà. È inoltre possibile modificare il GUID e il nome a livello di programmazione oppure eseguendo dtutil dal prompt dei comandi. Per ulteriori informazioni, vedere Impostazione delle proprietà di un pacchetto e Utilità dtutil.

Opzioni di registrazione padre

Spesso le opzioni di registrazione delle attività e dei contenitori Ciclo For, Ciclo Foreach e Sequenza corrispondono a quelle del pacchetto o di un contenitore padre. In questo caso è possibile configurarle in modo che ereditino l'impostazione delle opzioni di registrazione del contenitore padre. Ad esempio, in un contenitore Ciclo For che include un'attività Esegui SQL l'attività può utilizzare le opzioni di registrazione impostate nel contenitore. Per consentire l'utilizzo delle opzioni di registrazione padre, è necessario impostare la proprietà LoggingMode del contenitore su UseParentSetting. Questa impostazione può essere eseguita nella finestra Proprietà di Business Intelligence Development Studio o nella finestra di dialogo Configura log SSIS di Progettazione SSIS.

Modelli di registrazione

Nella finestra di dialogo Configura log SSIS è inoltre possibile creare e salvare come modelli le configurazioni di registrazione utilizzate di frequente. I modelli possono essere quindi applicati in più pacchetti. Ciò consente di applicare una strategia di registrazione consistente tra i vari pacchetti e di modificare le impostazione di log dei pacchetti semplicemente aggiornando e applicando i modelli. I modelli vengono archiviati in file XML.

Per configurare la registrazione tramite la finestra di dialogo Configura log SSIS

  1. Attivare il pacchetto e le attività associate per la registrazione. La registrazione può venire eseguita a livello del pacchetto, del contenitore e dell'attività. È possibile specificare log diversi per pacchetti, contenitori e attività.

  2. Selezionare un provider di log e aggiungere un log per il pacchetto. È possibile creare log solo a livello di pacchetto. Inoltre attività o contenitori devono utilizzare uno dei log creati per il pacchetto. I possibili provider di log a cui può essere associato un log sono file di testo, SQL Server Profiler, SQL Server, registro eventi di Windows o file XML. Per ulteriori informazioni, vedere Procedura: Attivazione della registrazione in un pacchetto.

  3. Selezionare gli eventi e le informazioni dello schema di log relative a ogni evento che si desidera venga registrato nel log. Per ulteriori informazioni, vedere Procedura: Configurazione della registrazione in un contenitore.

Per visualizzare voci di log durante lo sviluppo di un pacchetto

Vedere anche

Concetti

Provider di log di Integration Services

Altre risorse

Creazione di pacchetti in Progettazione SSIS

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

15 settembre 2007

Nuovo contenuto:
  • Tabella aggiunta che descrive gli elementi nello schema del log che non sono visualizzati nella scheda Dettagli.

5 dicembre 2005

Nuovo contenuto:
  • Aggiunta delle informazioni sugli schemi di log e sui messaggi personalizzati per le voci di log.
  • Viene spiegato come differenziare le copie dei pacchetti.
Contenuto modificato:
  • Confronto dettagliato tra la registrazione a livello di pacchetto e la registrazione a livello di singoli oggetti.