Um de meus clientes tem algumas necessidades muito específicas para executar uma planilha por meio de alguns processos ETL que criei.
Desenvolvi um pacote SSIS .dtsx que importa uma planilha do Excel para o SQL Server, executa alguns processos de transformação e exporta os resultados para outra planilha do Excel. Estou querendo entregar a ferramenta ao cliente para que ele possa iniciar o processo de ETL ad-hoc. Para permitir que eles executem o pacote DTSX, quais são os requisitos mínimos necessários para executá-lo em seu sistema? Isso pode ser feito com o SQL Express ou eles precisam ter o Integration Services em execução para executar o pacote?
Você entregou uma solução que usa SSIS. O SSIS requer uma instalação do SQL Server Standard, BI ou Enterprise Edition (dependendo dos componentes usados).
Neste ponto, seu cliente precisará gastar ~ 8k por núcleo (SE) a 23k por núcleo (EE) para obter uma licença do SQL Server para seu desktop. Isso provavelmente não é o que eles estão esperando.
O que você pode fazer?
Supondo que eles tenham o SQL Server instalado em sua empresa, deve ser uma questão de implantar em algum lugar que a instância possa acessar e educar o cliente sobre onde ele precisa copiar a planilha de origem e onde pode obter a saída. Gosto do meu padrão de processamento de arquivo ETL, mas use o que for melhor para você e seu cliente.
Isso aborda a obtenção do pacote para que ele possa ser executado com a entrada correta. Agora você precisa descobrir como o cliente pode chamá-lo. Eu criaria um trabalho do SQL Agent sem agendamento predefinido e, em seguida, o menor aplicativo do mundo que simplesmente chama
EXECUTE msdb.dbo.sp_start_job 'ExcelProcessor'
Isso será um processo assíncrono, então você deseja fazer algo como pesquisar a pasta de saída até que um arquivo apareça ou monitorar a tabela de trabalhos para ver se o trabalho foi concluído com êxito antes de sinalizar ao usuário que o processamento foi concluído.