Tratamento de erros do coletor de dados

O coletor de dados é projetado para execução contínua, o que significa que provavelmente ocorrerão erros de execução. O coletor de dados deve responder adequadamente a duas grandes categorias de erros. Essas categorias são:

  • Erros comuns, previsíveis. Baseado no fluxo de trabalho da coleta, nos processos e no comportamento do componente, muitos erros podem ser antecipados. A recuperação automática dessa categoria de erro talvez nem sempre seja possível. No entanto, técnicas simples e de baixo impacto podem ser usadas para tratar esses erros e fazer com que a coleta de dados seja executada novamente.

  • Erros inesperados. Quando esses erros são gerados, não é feita nenhuma tentativa para se recuperar do erro automaticamente. O coletor de dados registra as informações detalhadas do erro que podem ser usadas para solucionar problemas e resolver a condição de erro. Além disso, o pacote ou a tarefa que provocou o erro é desabilitada para que os erros parem de ser gerados repetidamente. Erros recorrentes consomem recursos do sistema desnecessariamente e impedem que a coleta de dados funcione corretamente e seja concluída com êxito.

Em todos os casos, os erros são registrados usando o mecanismo de registro em log descrito em Log de coletor de dados.

Erros comuns

A tabela a seguir lista os erros comuns e descreve suas causas prováveis, e também como o coletor de dados os trata.

Erro

Descrição, causa e tratamento

Impossibilidade de conexão com um provedor de dados.

O coletor de dados não pode se conectar a um servidor ou a um provedor de dados específico, como o Transact-SQL. As possíveis causas incluem a configuração do sistema e problemas de segurança.

Tratamento: o erro é registrado e o conjunto de coleta definido é interrompido e indicado como desabilitado. O estado desabilitado é registrado no log de execução. Não há nenhuma recuperação automática desse erro.

A conexão com um provedor de dados é cancelada durante a execução.

Um servidor monitorado é desligado inesperadamente, ou há um problema de conectividade como uma conexão de rede com falha.

ObservaçãoObservação
Desligamentos planejados não entram nessa categoria. No caso de um desligamento planejado, os conjuntos de coleta são desativados quando as instâncias do SQL Server e SQL Server Agent são interrompidas.

O pacote de execução falha e o erro é registrado. O coletor de dados tentará reinicializar o pacote depois de um breve intervalo, e se houver falha, o conjunto de coleta será interrompido e indicado como desabilitado. O estado desabilitado é registrado no log de execução. A recuperação a partir desse ponto requer intervenção manual.

Impossibilidade de conexão com o data warehouse de gerenciamento.

O data warehouse está instalado em um computador diferente do coletor de dados. As causas prováveis são problemas de conectividade de rede ou um servidor host indisponível. Esse erro só afeta pacotes de carregamento.

Tratamento: como não há nenhuma notificação avançada sobre um desligamento do servidor, esse erro não pode ser antecipado e processado automaticamente. O erro é registrado e depois de um breve intervalo, o carregamento é reiniciado. Depois de quatro tentativas de carregamento mal-sucedidas, o conjunto de coleta é desabilitado e seu estado é gravado no log de execução.

ObservaçãoObservação
Todos os dados coletados enquanto o conjunto de coleta está sendo executado são mantidos e acumulados. Se o pacote de carregamento puder se conectar ao data warehouse, os dados acumulados serão transferidos.

A conexão para o data warehouse de gerenciamento é cancelada durante um carregamento.

O data warehouse está instalado em um computador diferente do coletor de dados. As causas prováveis são problemas de conectividade de rede ou um servidor host indisponível. Esse erro só afeta pacotes de carregamento.

Tratamento: como não há nenhuma notificação avançada sobre um desligamento do servidor, esse erro não pode ser antecipado e processado automaticamente. O erro é registrado e depois de um breve intervalo, o carregamento é reiniciado. Depois de quatro tentativas de carregamento mal-sucedidas, o conjunto de coleta é desabilitado e seu estado é gravado no log de execução.

ObservaçãoObservação
Todos os dados coletados enquanto o conjunto de coleta estiver sendo executado são mantidos e acumulados. Se o pacote de carregamento puder se conectar ao data warehouse, os dados acumulados serão transferidos.
ObservaçãoObservação
A transação antes do erro é sinalizada como falha para impedir carregamentos parciais. Quando a conexão é restabelecida, esse lote de dados é carregado novamente.

Um erro é recebido de um provedor de dados.

Pode ser qualquer erro, como parâmetros inválidos ou uma solicitação inválida enviada pelo coletor de dados. Isso geralmente é visto durante o desenvolvimento e é mais provável que afete os desenvolvedores que criam conjuntos de coleta ou tipos de coletores personalizados. Quando esse erro ocorre, o conjunto de coleta é interrompido e o erro é registrado. O erro deve ser investigado e o conjunto de coleta reiniciado manualmente depois que o erro for resolvido.

Há um erro no fluxo de controle.

A lógica definida no fluxo de controle do pacote falhou.

Tratamento: se esse erro for previsível e específico para um determinado pacote, trate-o usando o caminho de fluxo de controle OnError. Em muitos casos o pacote pode se recuperar automaticamente do erro e reinicializar.

Há um erro no fluxo de dados.

Esse erro é ativado pelo pipeline de fluxo de dados e geralmente está em uma das seguintes categorias:

  • Erros de conversão de dados que ocorrem se uma conversão resultar na perda de dígitos significativos, perda de dígitos insignificantes e truncamento de cadeias de caracteres. Os erros de conversão de dados também ocorrem se não houver suporte para a conversão solicitada.

  • Erros de avaliação de expressão, que ocorrem se expressões avaliadas em tempo de execução realizarem operações inválidas ou se tornarem sintaticamente incorretas devido a valores de dados ausentes ou incorretos.

  • Erros de pesquisa que ocorrem se uma operação de pesquisa falhar em localizar uma tabela de pesquisa correspondente.

Tratamento: cada componente de dados será configurado para falhar apenas se o erro do fluxo de dados for crítico. Por padrão, as linhas de erro são redirecionadas como saída separada depois que o número de linhas com falha é contado. Essas informações são então registradas depois que o fluxo de dados for concluído e um relatório de fluxo de dados for gerado.