Validate de Projetos + script para validação de todos os projetos do SSIS

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.

Deixe um comentário

Crie um site como este com o WordPress.com
Comece agora