Olá pessoal, vamos para mais uma dica.
Neste post eu vou falar um pouco sobre como fazer a validação do seu projeto e do seu pacote do SSIS, bem como fornecer para vocês um script T-SQL que realiza a validação de todos os projetos implantados no servidor do Integration Services.
Fazer uma validação dos seus projetos (que consequentemente validam os pacotes presentes naquele projeto) ajuda a prever e prevenir possíveis problemas de conectividade e de incompatibilidades com as tarefas do pacote e o servidor. O validate não é nenhuma bala de prata e mesmo quando retorna um resultado de sucesso, ainda assim, o seu pacote pode falhar durante a execução. Mas, ao executar o validate, você consegue eliminar vários problemas de conectividade antes de agendar seus pacotes para que sejam executados.
A forma mais comum de realizar o validate de um projeto é através do Management Studio (SSMS), abaixo eu forneço o passo a passo para fazê-lo:
1 – Abra o SSMS e navegue até o Catálogo do Integration Services

2 – Expanda a pasta e o projeto que você deseja validar, clique com o botão direito no mesmo e escolha a opção “Validate…”.

3 – Na aba que irá aparecer (Validate Project) informe quaisquer parâmetros que sejam necessários e que não estejam configurados previamente como senhas, bancos de dados, connection strings e por fim clique em OK.

4 – Aparecerá a janela perguntando se você gostaria de abrir o relatório da validação, preferencialmente clique em “Yes” para verificar se a validação foi com sucesso ou não.

5 – Por fim, é só ver o status da sua validação. No caso abaixo ela falhou 😦
Ou seja, o projeto e os pacotes ainda não estão prontos para serem executados.

6 – Analise as mensagens de erro para identificar o motivo da falha. Faça as correções necessárias. No caso acima, o erro ocorreu devido uma fonte de dados que não estava disponível. Nessa situação foi necessário verificar porque o ambiente estava offline e subi-lo. Tendo corrigido o problema, valide novamente o seu projeto e garanta que o status seja sucesso.

Pronto: passado a validação, você pode se sentir mais confiante de que a execução acontecerá conforme previsto, mas vale lembrar que isso não é garantia que outros erros não possam ocorrer.
Validate de todos os projetos do SSIS
Agora eu forneço um script que faz o validate de todos os projetos e pacotes de um servidor SQL Server Integration Services. Ele pode ser muito útil se você possui um servidor com muitos projetos e precisa rapidamente validar se todos os pacotes estão OK, especialmente quando você está envolvido com alguma manutenção ou upgrade no servidor.
/* Declara as variaveis */
DECLARE @validation_id BIGINT
DECLARE @projeto VARCHAR(200)
DECLARE @pasta VARCHAR(100)
/* Declara cursor que ira ler cada pasta e projeto */
DECLARE cursor_validate CURSOR FOR
SELECT DISTINCT f.name, p.name
FROM SSISDB.catalog.projects as p
INNER JOIN SSISDB.catalog.folders as f
ON p.folder_id = f.folder_id
/* Abre o cursor */
OPEN cursor_validate
FETCH NEXT FROM cursor_validate INTO @pasta, @projeto
WHILE @@FETCH_STATUS = 0
-- Inicio da validacao chamando a proc do SSISDB validate_project
BEGIN
EXEC [SSISDB].[catalog].[validate_project] @project_name=@projeto, @validation_id=@validation_id OUTPUT, @folder_name=@pasta, @validate_type=F, @use32bitruntime=False, @environment_scope=D, @reference_id=Null
SELECT @validation_id
-- Espera 5 segundos para validar o proximo projeto para evitar o alto consumo de recursos da maquina por processos concorrentes
WAITFOR DELAY '00:00:05'
FETCH NEXT FROM cursor_validate INTO @pasta, @projeto
END
CLOSE cursor_validate
DEALLOCATE cursor_validate
Conclusão
Nessa dica foi mostrada a importância e a utilidade de realizar um validate pós implantação de um novo projeto e foi fornecido um script muito útil para validar todos os projetos de um servidor. Valido se atentar que antes de executar qualquer script em produção você deve testá-lo em ambientes não-produtivos e que você deve verificar se possui recursos suficientes em máquina para executá-lo.