Depurando o fluxo de controle

O Business Intelligence Development Studio e o Microsoft Integration Services incluem recursos e ferramentas que você pode usar para detectar e solucionar problemas de fluxo de controle em um pacote Integration Services.

  • O Integration Services oferece suporte a pontos de interrupção em contêineres e tarefas.

  • O Designer SSIS fornece relatórios de progresso em tempo de execução.

  • O Business Intelligence Development Studio fornece janelas de depuração.

Pontos de interrupção

O Designer SSIS fornece a caixa de diálogo Definir Pontos de Interrupção, na qual você pode definir pontos de interrupção ao habilitar as condições de interrupção e especificando o número de vezes que um ponto de interrupção pode ocorrer antes que a execução do pacote seja anulada. Os pontos de interrupção podem ser habilitados no nível do pacote ou no nível do componente individual. Se as condições da interrupção estiverem habilitadas no nível da tarefa ou contêiner, o ícone do ponto de interrupção aparecerá próximo à tarefa ou contêiner sobre a superfície de design da guia Fluxo de Controle. Se as condições de interrupção estiverem habilitadas no pacote, o ícone de ponto de interrupção aparecerá no rótulo da guia Fluxo de Controle.

Quando um ponto de interrupção é atingido, o ícone de ponto de interrupção muda para ajudá-lo a identificar a fonte do ponto de interrupção. Você pode adicionar, excluir e alterar pontos de interrupção quando o pacote estiver executando.

O Integration Services fornece dez pontos de interrupção que você pode habilitar em todas as tarefas e contêineres. Na caixa de diálogo Definir Pontos de Interrupção , você pode habilitar os pontos de interrupção das seguintes condições:

Condição de interrupção

Descrição

Quando a tarefa ou o contêiner recebe o evento OnPreExecute.

Chamado quando uma tarefa está prestes a ser executada. Este evento é criado por uma tarefa ou contêiner imediatamente antes da sua execução.

Quando a tarefa ou o contêiner recebe o evento OnPostExecute.

Chamado imediatamente após a execução lógica do término da tarefa. Este evento é criado por uma tarefa ou contêiner imediatamente após sua execução.

Quando a tarefa ou o contêiner recebe o evento OnError.

Chamado por uma tarefa ou contêiner quando ocorre um erro.

Quando a tarefa ou o contêiner recebe o evento OnWarning.

Chamado quando a tarefa está em um estado que não justifica um erro, mas autoriza uma advertência.

Quando a tarefa ou o contêiner recebe o evento OnInformation.

Chamado quando a tarefa é exigida a fornecer informações.

Quando a tarefa ou o contêiner recebe o evento OnTaskFailed.

Chamado pelo host de tarefa quando ele falha.

Quando a tarefa ou o contêiner recebe o evento OnProgress.

Chamado para atualizar o progresso da execução de tarefa.

Quando a tarefa ou o contêiner recebe o evento OnQueryCancel.

Chamado a qualquer momento do processamento da tarefa quando você pode cancelar execução.

Quando a tarefa ou o contêiner recebe o evento OnVariableValueChanged.

Chamado pelo tempo de execução Integration Services quando o valor de uma variável muda. O RaiseChangeEvent da variável deve ser definido como true para gerar este evento.

Quando a tarefa ou o contêiner recebe o evento OnCustomEvent.

Chamado por tarefas para gerar eventos personalizados definidos por tarefa.

Além das condições dos pontos de interrupção disponíveis a todas as tarefas e contêineres, algumas tarefas e contêineres incluem condições especiais de interrupção para definir os pontos de interrupção. Por exemplo, você pode habilitar uma condição de interrupção no contêiner Loop For que defina um ponto de interrupção que suspenda a execução no início de cada iteração do loop.

Para adicionar flexibilidade e força ao ponto de interrupção, você pode modificar o comportamento de um ponto de interrupção especificando as seguintes condições:

  • A contagem de ocorrência ou o número máximo de vezes que uma condição de interrupção ocorre antes de a execução ser suspensa.

  • O tipo de contagem de ocorrência ou a regra que especifica o momento em que a condição de interrupção aciona o ponto de interrupção.

Os tipos de contagem de ocorrência, com exceção do tipo Sempre, são sempre qualificados pela contagem de ocorrência. Por exemplo, se o tipo for "Contagem de ocorrências igual a" e a contagem de ocorrência for 5, a execução é suspensa na sexta ocorrência da condição da interrupção.

A tabela a seguir descreve os tipos de contagem de ocorrência.

Tipo de contagem de ocorrências

Descrição

Always

A execução será sempre suspensa quando ocorrer o ponto de interrupção.

Contagem de ocorrências igual a

A execução será suspensa quando o número de vezes que o ponto de interrupção ocorreu for igual à contagem de ocorrências.

Contagem de ocorrências maior que ou igual a

A execução será suspensa quando o número de vezes que o ponto de interrupção ocorreu for igual ou maior que a contagem de ocorrências.

Várias contagens de ocorrências

A execução será suspensa quando ocorrerem várias contagens de ocorrências. Por exemplo, se você definir esta opção como 5, a execução será suspensa a cada quinta vez.

Para definir pontos de interrupção

Relatório de progresso

O Designer SSIS inclui dois tipos de relatórios de progresso: codificação de cores na superfície de design da guia Fluxo de Controle e mensagens de progresso na guia Progresso.

Quando você executa um pacote, o Designer SSIS descreve o progresso da execução exibindo cada tarefa ou contêiner usando uma cor que indica o seu status. Você pode identificar pela cor se o elemento está esperando para ser executado, está em execução, terminou com sucesso ou terminou sem-sucesso. Depois que você parar a execução de pacote, a codificação de cor desaparece.

A tabela a seguir descreve as cores usadas para indicar o estado de execução.

Cor

Status de execução

Cinza

Esperando para executar

Amarelo

Executando

Verde

Executado com sucesso

Vermelho

Executado com erros

A guia Progresso exibe as tarefas e contêineres na ordem de execução e inclui os tempos de início e fim, avisos e mensagens de erro. Depois que você parar a execução do pacote, as informações de progresso continuarão disponíveis na guia Resultados da Execução.

ObservaçãoObservação

Para ativar ou desativar a exibição de mensagens na guia Progresso, marque/desmarque a opção Depurar Relatório do Progresso no menu SSIS.

O diagrama a seguir mostra a guia Progresso.

Guia Progresso do Designer SSIS

Janelas de depuração

O Business Intelligence Development Studio, um ambiente de desenvolvimento Microsoft Visual Studio 2008, inclui muitas janelas que você pode usar para trabalhar com pontos de interrupção e para depurar pacotes que contenham pontos de interrupção. Para aprender mais sobre cada janela, abra a janela e, então, pressione F1 para exibir a Ajuda da janela.

Para abrir essas janelas no Business Intelligence Development Studio, clique no menu Depurar, aponte para Janelas, e, então, clique em Pontos de Interrupção, Saída ou Imediato.

A tabela a seguir descreve as janelas.

Janela

Descrição

Pontos de interrupção

Exibe os pontos de interrupção em um pacote e fornece opções para habilitar e excluir pontos de interrupção.

Saída

Exibe mensagens de status dos recursos no Business Intelligence Development Studio.

Imediato

Usado para depurar e avaliar expressões e imprimir valores variáveis.

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.

Consulte também

Outros recursos