sexta-feira, 16 de janeiro de 2009

Erro SSIS: product level is insufficient

Eu havia desenvolvido um pacote SSIS, testado exaustivamente no ambiente de desenvolvimento e, depois disso, instalamos o pacote no ambiente de testes do cliente.
Quando fui executar o pacote, diretamente no SSIS obtive um erro absolutamente inesperado:

Product level is insufficient for [nome do objeto]

- O pacote estava sendo executado a partir do SSMS apontando para outro servidor, onde havia sido instalado o pacote.
- Este servidor onde estava sendo executado o SSMS não possui o serviço do SSIS instalado, e este serviço está instalado somente no servidor "B", onde foi instalado o pacote.

Pesquisando na web, aprendi algumas coisas interessantes sobre o comportamento e execução dos pacotes SSIS:
1) Quando se executa um pacote SSIS, ele é executado no servidor "A", ou seja, o que chama a execução, e utiliza todos os recursos desde CPU, inclusive os serviços. Logo, é necessário que o serviço do SSIS esteja instalado no servidor que faz a chamada ao pacote;
2) Uma forma de resolver esta questão, para o caso de não poder instalar o serviço do SSIS na máquina que vai chamar o pacote é agendar um SQL Job que faça a chamada ao pacote;

Fiz os testes em ambas as situações e tudo ocorreu ok!

Fontes:
http://blogs.msdn.com/michen/archive/2006/11/11/ssis-product-level-is-insufficient.aspx
http://blogs.msdn.com/michen/archive/2006/08/11/package-exec-location.aspx

Ps.: Depois disso tive um outro problema, que fica para outro post...