Para responder à pergunta como eu fiz, é possível continuar após as falhas, certificando-se de que MaximumErrorCount seja zero para a tarefa e seus contêineres pai ... Nesse caso, significa a tarefa "Test Connection", o contêiner "foreach" e o próprio pacote.
Acabei fazendo algo diferente. E Jamie Thomson, Verificar uma conexão antes de usá-lo, foi útil aqui. Aqui está o que eu fiz:
Substituí a tarefa Testar Conexão por uma tarefa de script. A tarefa de script era quase exatamente como o script de Jamie, exceto que eu
- usou apenas um gerenciador de conexões, nem todos,
- o resultado da tarefa sempre foi sucesso
- e defino uma nova variável "User :: ConnectionSucceeded" para o resultado do teste de conexão.
Também alterei as setas que saem da tarefa de conexão de teste para avaliar expressões, elas avaliam:
- @ [Usuário :: ConnectionSucceed] == True
- @ [Usuário :: ConnectionSucceed] == Falso
respectivamente.
Eu também tive que lembrar de editar as várias restrições que entram na tarefa "Atualizar LastMonitored". Alterei-os para usar um "OR" lógico.
Aqui está a aparência do meu pacote SSIS agora: