Temos um pacote SSIS 2012 que oferece suporte ao nosso banco de dados interno de relatórios analíticos extraindo dados de um servidor de banco de dados externo.
Ontem à noite, pela primeira vez, o pacote falhou devido a um erro de tempo limite de conexão com o banco de dados ao tentar se conectar ao banco de dados externo.
Parece-me que faria sentido aprimorar nosso pacote SSIS com alguns meios de fazer várias tentativas de conexão antes de falhar completamente.
Por exemplo, gostaríamos que o pacote SSIS tentasse 3 vezes, talvez dormindo por 5 minutos antes de tentar novamente. Se houver 3 falhas de conexão, retorne um erro para o pacote.
Procurei referências sobre isso, mas não encontrei nada; parece que deveria ser uma característica óbvia, e não devo estar procurando nos lugares certos.
Aqui estão alguns detalhes:
- Usando pacotes SSIS 2012 em um servidor SQL Server 2012 local.
- Extraindo dados de um banco de dados Oracle remoto
- Usando o Microsoft Connector para Oracle da Attunity
- O pacote SSIS é chamado de um trabalho agendado usando o SQL Server Agent
- O pacote SSIS tem componentes muito simples que consistem em uma etapa de tabela truncada seguida por uma tarefa de Fluxo de Dados.
- A tarefa de fluxo de dados usa o componente Oracle Data Source conectado a um destino OLE DB (nossa instância/banco de dados local do servidor SQL).
- Há 1 componente intermediário de Coluna Derivada, que adiciona alguns dados calculados ao destino.
- O pacote foi executado com sucesso muitas vezes em nosso ambiente de produção, então já sei que não é devido ao desenvolvimento/estúdio visual vs. catálogo SSIS no SQL Server, etc.
Examinei o Connection Manager para meu banco de dados Oracle externo e o componente Oracle Data Source, mas não vejo nada que pareça oferecer suporte a uma nova tentativa.
Devo criar algum tipo de loop de repetição usando a funcionalidade de erro?
Parece um pouco exagerado, talvez haja alguma propriedade dentro do Oracle Source Component que eu preciso colocar na configuração em algum lugar?