Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
SQL Server Data Tools (SSDT) e Microsoft Integration Services incluem funcionalidades e ferramentas que pode usar para diagnosticar o fluxo de controlo num pacote Integration Services.
Os Serviços de Integração suportam pontos de interrupção em contentores e tarefas.
O SSIS Designer fornece relatórios de progresso em tempo de execução.
SQL Server Data Tools (SSDT) fornece janelas de depuração.
Breakpoints
O SSIS Designer disponibiliza a caixa de diálogo Set Breakpoints , na qual pode definir pontos de interrupção ativando condições de interrupção e especificando o número de vezes que um ponto de interrupção pode ocorrer antes de a execução do pacote ser suspensa. Os pontos de interrupção podem ser ativados ao nível do pacote ou ao nível do componente individual. Se as condições de interrupção estiverem ativadas ao nível da tarefa ou contentor, o ícone do ponto de interrupção aparece ao lado da tarefa ou contentor na superfície de design do separador Control Flow . Se as condições de interrupção estiverem ativadas no pacote, o ícone do ponto de interrupção aparece na etiqueta do separador Control Flow .
Quando um ponto de interrupção é atingido, o ícone do ponto de interrupção muda para ajudar a identificar a origem do ponto de interrupção. Podes adicionar, eliminar e alterar pontos de interrupção quando o pacote está a correr.
Os Serviços de Integração fornecem dez condições de pausa que pode ativar em todas as tarefas e contentores. Na caixa de diálogo Definir Pontos de Quebra , pode ativar pontos de interrupção nas seguintes condições:
| Condição de ruptura | Description |
|---|---|
| Quando a tarefa ou contentor recebe o evento OnPreExecute. | Chamada quando uma tarefa está prestes a ser executada. Este evento é ativado por uma tarefa ou um contentor imediatamente antes de ser executado. |
| Quando a tarefa ou o contentor recebe o evento OnPostExecut . | É chamado imediatamente após a conclusão da lógica de execução da tarefa. Este evento é ativado por uma tarefa ou contentor imediatamente após a sua execução. |
| Quando a tarefa ou contentor recebe o evento OnError . | Chamada por uma tarefa ou contentor quando ocorre um erro. |
| Quando a tarefa ou contentor recebe o evento OnWarning . | Chamada quando a tarefa está num estado que não justifica um erro, mas que justifica um aviso. |
| Quando a tarefa ou contentor recebe o evento OnInformation . | Chamado quando a tarefa é necessária para fornecer informação. |
| Quando a tarefa ou contentor recebe o evento OnTaskFail . | É chamada pelo anfitrião da tarefa quando falha. |
| Quando a tarefa ou o contentor recebe o evento OnProgress . | Foi solicitado informar sobre o progresso na execução da tarefa. |
| Quando a tarefa ou contentor recebe o evento OnQueryCancel . | Chamado a qualquer momento no processamento de tarefas quando pode cancelar a execução. |
| Quando a tarefa ou contentor recebe o evento OnVariableValueChanged . | Chamada pelo runtime dos Serviços de Integração quando o valor de uma variável muda. O RaiseChangeEvent da variável deve ser definido como true para levantar este evento. ** Aviso ** A variável associada a este ponto de interrupção deve ser definida no âmbito do contentor . Se a variável estiver definida no âmbito do pacote, o ponto de interrupção não é atingido. |
| Quando a tarefa ou o contentor recebe o evento OnCustomEvent . | Chamadas por tarefas para originar eventos definidos especificamente por tarefas. |
Para além das condições de interrupção disponíveis para todas as tarefas e contentores, algumas tarefas e contentores incluem condições especiais para definir pontos de interrupção. Por exemplo, pode ativar uma condição de quebra no contentor For Loop que define um ponto de interrupção que suspende a execução no início de cada iteração do ciclo.
Para adicionar flexibilidade e potência a um ponto de interrupção, pode modificar o comportamento daquele ponto especificando as seguintes opções:
A contagem de acertos, ou seja, o número máximo de vezes que uma condição de interrupção ocorre antes da execução ser suspensa.
O tipo de contagem de acertos, ou a regra que especifica quando a condição de interrupção ativa o ponto de interrupção.
Os tipos de contagem de acertos, exceto o tipo Sempre, são ainda qualificados pelo número de acertos. Por exemplo, se o tipo for "Contagem de acertos é igual a" e a contagem de acertos for 5, a execução é suspensa na sexta ocorrência da condição de interrupção.
A tabela seguinte descreve os tipos de número de acertos.
| Tipo de número de acertos | Description |
|---|---|
| Sempre | A execução é sempre suspensa quando o ponto de interrupção é atingido. |
| Número de acertos é igual | A execução é suspensa quando o número de vezes que o ponto de rutura ocorreu é igual à contagem de ocorrências. |
| Número de acertos maior ou igual a | A execução é suspensa quando o número de vezes que o ponto de rutura ocorreu é igual ou superior à contagem de ocorrências. |
| Número de acertos múltiplos | A execução é suspensa quando o contador de acessos alcança um múltiplo definido. Por exemplo, se definires esta opção para 5, a execução é suspensa a cada quinta vez. |
Para definir pontos de quebra
Relatórios de Progresso
O SSIS Designer inclui dois tipos de relatório de progresso: codificação por cores na superfície de design do separador Control Flow e mensagens de progresso no separador Progresso .
Quando executa um pacote, o SSIS Designer representa o progresso da execução ao mostrar cada tarefa ou contentor usando uma cor que indica o estado da execução. Pode perceber pela cor se o elemento está à espera de executar, se está a executar, se concluiu-se com sucesso ou se terminou sem êxito. Depois de parar a execução do pacote, a codificação por cores desaparece.
A tabela seguinte descreve as cores usadas para representar o estado de execução.
| Cor | Estado de execução |
|---|---|
| Gray | À espera de fugir |
| Yellow | Running |
| Green | Correu com sucesso |
| em destaque | Correu com erros |
O separador Progresso lista tarefas e contentores por ordem de execução e inclui os tempos de início e fim, avisos e mensagens de erro. Depois de parar a execução do pacote, a informação de progresso permanece disponível no separador Resultados de Execução .
Observação
Para ativar ou desativar a visualização das mensagens no separador Progresso , desative a opção Debug Progress Reporting no menu SSIS .
O diagrama seguinte mostra o separador Progresso.
Depurar Windows
O SQL Server Data Tools (SSDT) inclui muitas janelas que pode usar para trabalhar com pontos de interrupção e para depurar pacotes que contenham pontos de interrupção. Para saber mais sobre cada janela, abra a janela e depois pressione F1 para mostrar Ajuda para a janela.
Para abrir estas janelas no SQL Server Data Tools (SSDT), clique no menu Depurar , aponte para Windows e depois clique em Breakpoints, Output ou Imediate.
A tabela seguinte descreve cada janela.
| Janela | Description |
|---|---|
| Breakpoints | Lista os pontos de interrupção num pacote e fornece opções para ativar e eliminar pontos de interrupção. |
| Resultado | Apresenta mensagens de estado para funcionalidades no SQL Server Data Tools (SSDT). |
| Imediato | Usado para depurar e avaliar expressões e imprimir valores de variáveis. |
Depure um pacote definindo pontos de interrupção numa tarefa ou num contentor
Este procedimento descreve como definir pontos de interrupção num pacote, numa tarefa, num contentor de ciclo For, num contentor de loop Foreach ou num contentor de sequência.
Para definir pontos de interrupção num pacote, numa tarefa ou num contentor
No SSDT (SQL Server Data Tools), abra o projeto Integration Services que contém o pacote desejado.
Clique duas vezes no pacote onde quer definir os pontos de interrupção.
No SSIS Designer, faça o seguinte:
Para definir pontos de interrupção no objeto do pacote, clique no separador Control Flow , coloque o cursor em qualquer lugar do fundo da superfície do design, clique com o botão direito e depois clique em Editar Pontos de Interrupção.
Para definir pontos de interrupção num fluxo de controlo de pacotes, clique no separador Control Flow , clique com o botão direito numa tarefa, num contentor For Loop, num contentor Foreach Loop ou num contentor de Sequência, e depois clique em Editar Pontos de Interrupção.
Para definir pontos de interrupção num gestor de eventos, clique no separador Gestor de Eventos, clique com o botão direito numa tarefa, num contentor de Loop For, num contentor de Loop Foreach, ou num contentor de Sequência, e depois clique Edit Breakpoints.
Na caixa de diálogo Definir Pontos de Interrupção<nome do contentor>, selecione os pontos de interrupção a ativar.
Opcionalmente, modifique o tipo de contagem de acertos e o número de acertos para cada ponto de interrupção.
Para guardar o pacote, clique em Guardar Itens Selecionados no menu Ficheiro .
Definir Pontos de Interrupção
Use a caixa de diálogo Definir pontos de interrupção para especificar os eventos para ativar os pontos de interrupção e para controlar o comportamento desse ponto de interrupção.
Opções
Ativado
Selecione ativar um ponto de interrupção num evento.
Condição de Quebra
Consulte uma lista de eventos disponíveis para definir pontos de interrupção.
Tipo de Contagem de Acertos
Especifique quando o ponto de interrupção entra em vigor.
| Valor | Description |
|---|---|
| Sempre | A execução é sempre suspensa quando o ponto de interrupção é atingido. |
| Número de acertos é igual | A execução é suspensa quando o número de vezes que o ponto de rutura ocorreu é igual à contagem de ocorrências. |
| Selecionar maior ou igual | A execução é suspensa quando o número de vezes que o ponto de rutura ocorreu é igual ou superior à contagem de ocorrências. |
| Número de acertos múltiplos | A execução é suspensa quando o contador de acessos alcança um múltiplo definido. Por exemplo, se definires esta opção para 5, a execução é suspensa a cada quinta vez. |
Número de Acertos
Especifique o número de ocorrências a partir do qual deve iniciar uma interrupção. Esta opção não está disponível se o ponto de interrupção estiver sempre ativo.
Ver também
Ferramentas de resolução de problemas para o desenvolvimento de pacotes
Depure um script definindo pontos de interrupção numa tarefa de script e num componente de script