Introdução
Debugar pacotes do SQL Server Integration Services (SSIS) pode ser um desafio, especialmente em cenários complexos de integração de dados. Um exemplo disso é determinar os caminhos exatos de pastas usados por uma Tarefa de Sistema de Arquivos durante a execução. Este post irá guiá-lo no processo de uso do logging detalhado para debugar um pacote SSIS, especialmente quando executado via SQL Server Agent.
O Cenário
Imagine que você tem um pacote SSIS que usa uma Tarefa de Sistema de Arquivos para mover arquivos entre diretórios. A tarefa parece falhar intermitentemente quando executada como parte de um trabalho do SQL Server Agent. O desafio é determinar os caminhos exatos das pastas acessadas no momento da execução.
Debugando Passo-a-Passo
1. Ative o Logging no SSIS:
Primeiro, abra seu pacote no SQL Server Data Tools (SSDT) e ative o logging. Vá para `SSIS` -> `Logging...`, selecione seu provedor de log (por exemplo, "SSIS log provider for Text files") e configure-o para capturar eventos como `OnPreExecute`, `OnPostExecute` e `OnError`.
2. Configure o Trabalho no SQL Server Agent:
No SQL Server Management Studio (SSMS), crie ou modifique um trabalho do SQL Server Agent para executar seu pacote. Nas propriedades da etapa do trabalho, garanta que o pacote esteja corretamente selecionado.
3. Defina o Logging Detalhado:
Na Job Step, defina o nível de logging para "Verbose ou Detalhado". Isso garante que informações detalhadas sobre a execução do pacote sejam capturadas.
4. Execute o Trabalho:
Execute o trabalho a partir do SQL Server Agent. O pacote será executado com logging detalhado, registrando informações detalhadas sobre suas atividades.
5. Reveja os Arquivos de Log:
Após a execução, reveja os arquivos de log ou as tabelas de log do SQL Server. Procure por entradas relacionadas à Tarefa de Sistema de Arquivos para identificar os caminhos das pastas usadas.
Analisando os Logs
No nosso exemplo, os logs detalhados revelaram que a Tarefa de Sistema de Arquivos estava tentando acessar um caminho de rede não acessível pela conta de serviço do SQL Server Agent e no meu caso tivemos que habilitar uma nova regra de firewall.
As entradas de log mostraram claramente a tentativa de acesso ao caminho de rede, elucidando a causa-raiz do problema.
Comments