ID do artigo: 906563 - Última revisão: sábado, 11 de março de 2006 - Revisão: 2.2

Como interpretar os dados que estão conectados usando um provedor de log do SQL Server 2005 Integration Services

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

INTRODUÇÃO

Microsoft SQL Server 2005 Integration Services (SSIS) usa o pacote de execução de tarefas para oferecer suporte a uma relação de pacote pai-filho. A tarefa Execute Package é um dos objetos de um projeto do SSIS fluxo de controle disponíveis. Você pode usar a tarefa Execute Package para chamar outro pacote como parte de um fluxo de trabalho. Um pacote do SSIS pode usar um provedor de log do SSIS para registrar informações de evento. Quando um pacote pai é executado, os dados de log do SSIS são registrados de dois provedores de log do SSIS, o pacote filho e o pacote pai. Este artigo descreve como interpretar os dados que estão conectados usando um provedor de log do SQL Server 2005 Integration Services. O artigo também contém informações para ajudar você a desenvolver consultas que sejam baseiam os dados registrados.

Mais Informações

Observação Neste artigo, um pacote chamado é conhecido como o pacote de "filho". Um pacote de chamada é conhecido como o pacote de "pai".

Quando você executar um pacote pai e o pacote filho foi projetado para fazer as entradas usando um provedor de log do SSIS, as entradas são registradas duas vezes. Na primeira vez, as entradas são registradas no contexto de execução do pacote filho. Na segunda vez, as entradas são registradas no contexto de execução do pacote pai. Para identificar o contexto de execução, examine o campo executionID nos dados de log. (O campo executionID contém um GUID exclusivo.) Entradas de log que estão conectadas por um pacote filho no contexto de execução de um pacote pai contêm um usuário: prefixo no campo de eventos . Por exemplo, se o contexto de execução estiver sob um pacote pai, o campo de evento contém Usuário: OnPreExecute em vez de OnPreExecute .

Exemplo 1: Dois pacotes registrados em um contexto de execução única

O exemplo a seguir mostra um conjunto de entradas de log que foram registrados por um pacote pai e um pacote filho para um provedor de log do SSIS para o SQL Server. Essas entradas foram registradas no contexto de execução do pacote pai.
source                  sourceID                                 event                executionID
===========================================================================================================================
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     PackageStart        161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     OnPreExecute        161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child    472C4826-4278-4D29-9CBA-6586AC7FE418     User:OnPreExecute   161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child    472C4826-4278-4D29-9CBA-6586AC7FE418     User:OnPostExecute  161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     OnPostExecute       161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     PackageEnd          161B2818-8BB3-40A6-9C1F-5DC4F7225556
Este exemplo inclui duas entradas para o evento OnPreExecute e duas entradas para o evento OnPostExecute. As entradas são lançadas pelo pacote filho possuem um usuário: prefixo no campo de eventos . As informações de executionID são a mesma para todas as entradas que pertencem a um contexto de execução específico.

A janela de log de eventos torna mais fácil para ver eventos de log no SQL Server Business Intelligence Development Studio e para identificar o campo executionID e outros campos. Para abrir a janela de log de eventos, clique na guia Fluxo de controle no designer do SSIS e, em seguida, clique em Log eventos no menu de SSIS . Se você usar um provedor de log do SSIS para o SQL Server para registrar em log os eventos, você pode usar a instrução Transact-SQL exemplo a seguir para recuperar informações de log para pacotes de pai e filho. Um provedor de log do SSIS sempre salva dados à tabela sysdtslog90 em um banco de dados do SQL Server. Portanto, executar a consulta em relação a tabela sysdtslog90 no banco de dados SQL Server que você escolheu para provedor de log SSIS.
SELECT  source,sourceID,event,executionID
from sysdtslog90 
where event in ('onpreexecute','onpostexecute','user:onpreexecute','user:onpostexecute','PackageStart','PackageEnd')
and [executionid] like ('161B2818-8BB3-40A6-9C1F-5DC4F7225556%')
and source in ('AdventureWorks_parent','AdventureWorks_child')
order by starttime
Observação para usar esse exemplo, substituir entradas executionID e fonte que se aplicam aos dados de log específico.

Exemplo 2: Um único pacote registrado em dois contextos de execução

O exemplo a seguir lista entradas de log que foram registradas por um pacote filho em contextos de execução de dois.
source                 sourceID                                  event                executionID
===========================================================================================================================
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      User:OnPostExecute   161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      OnPostExecute        8C43E096-63DF-4692-98E4-49E88D271734
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      User:OnPreExecute    161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      OnPreExecute         8C43E096-63DF-4692-98E4-49E88D271734
Este exemplo inclui as entradas de log de pacote dois filhos do primeiro exemplo. As entradas têm as mesmas informações sourceID . No entanto, as entradas são diferenciadas pelo usuário: prefixo no campo de eventos e pelas entradas diferentes executionID . Se você usar um provedor de log do SSIS para o SQL Server para registrar em log os eventos, você pode usar a instrução Transact-SQL exemplo a seguir para recuperar informações de log para pacotes filho.
SELECT  top (4) source,sourceID,event,executionID
from sysdtslog90 
where event in ('onpreexecute','onpostexecute','user:onpreexecute','user:onpostexecute')
and Source in ('AdventureWorks_parent','AdventureWorks_child')
and sourceid='472C4826-4278-4D29-9CBA-6586AC7FE418'
order by starttime desc
Observação Essa instrução Transact-SQL usa um operador superior . Portanto, a instrução Transact-SQL consulta apenas os dados log recentes da execução de pacote mais recente.

Referências

Para obter mais informações sobre como recuperar e interpretar SSIS de log do provedor de dados, consulte os tópicos a seguir no Microsoft SQL Server 2005 Books Online :
  • "Executar tarefas de pacote"
  • "Provedores de log de serviços de integração"
  • "Implementando o log de pacotes"

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
Palavras-chave: 
kbmt kbhowto kbsql2005ssis kbinfo KB906563 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 906563  (http://support.microsoft.com/kb/906563/en-us/ )