Eu venho do Pentaho PDI.
Lá, aprendi a fazer scripts carregarem dados em um [VariableDB].
Dessa forma, posso iniciar esse VariableDB em tempo de execução para "ProdDB" ou até mesmo definir a variável para diferentes bancos de dados dentro do script, temporariamente, o que for.
O ponto é que eu não tenho que passar por toneladas de arquivos alterando nomes de banco de dados com muita frequência, a menos que algumas mudanças importantes na arquitetura.
A segunda coisa é a segurança. O Pentaho não é ótimo, mas você pode pelo menos armazenar algumas das credenciais do banco de dados no formato criptografado e elas são bloqueadas nas GUIs. Um 'cérebro' poderia decifrá-lo, mas eles precisariam de muito acesso de qualquer maneira.
SSIS --- bem, pode ser o oposto, talvez não. Prefiro não armazenar nenhuma senha de banco de dados em texto simples. Ao mesmo tempo, meu antecessor saiu --- e não tenho ideia de onde estão as credenciais. Eles estão "poof" desaparecidos - eu não sei. Se os scripts e trabalhos do SSIS estiverem sendo executados no mesmo servidor SQL DB, eles serão armazenados em algum lugar? Não tenho certeza.
Eles são criptografados para o nome de usuário dele, e agora que ele se foi, irrecuperável?
Isso não é tão importante, pois posso inserir novamente as credenciais do banco de dados, mas estou olhando para o futuro.
Eu sei que provavelmente existem algumas maneiras de fazer isso, mas qual é uma maneira simples para que, se eu tiver 5 pacotes apontando para "TheFinanceDatabase", eu possa trocar facilmente o servidor host do banco de dados, nome, usuário, senha, etc?
Eu tomo arquivos de configuração e/ou gerenciadores de conexão --- eles podem ser compartilhados entre pacotes dentro do mesmo "projeto?". Talvez os "projetos" possam compartilhar credenciais/ponteiros de conexão dentro da mesma "solução"? Apenas imaginando aqui - obrigado!
Quero evitar a reinserção/perda de credenciais no futuro.
Quando os pacotes são implantados e executados a partir do Catálogo do SSIS, as variáveis de um Ambiente podem ser usadas para armazenar credenciais como as que você mencionou, com elas usadas pelos gerenciadores de conexões dos pacotes. Depois que o valor de uma variável de ambiente é alterado, isso é propagado para todos os pacotes que usam essa variável. Por exemplo, se você tiver uma variável chamada "Servidor" que é usada como
ServerName
propriedade de um gerenciador de conexões e você o atualizou para manter o nome do servidor de produção em vez do de teste, todos os pacotes com isso agora seriam apontados para o servidor prod. Além disso, ambientes também podem ser criados para teste, desenvolvimento, produção, etc., com o ambiente referenciado no pacote atualizado para apontar para um ambiente diferente. As variáveis também podem ser marcadas como sensíveis para proteger informações como senhas. Se você não instalou o catálogo (SSISDB), recomendo fazê-lo. Você pode aprender mais sobre o Catálogo SSIS aqui . Uma visão geral de alto nível da configuração de um gerenciador de conexões para fazer referência a uma variável de ambiente está abaixo.