Kenneth Fisher publicou uma postagem no blog sobre como determinar qual versão do SQL é o meu pacote SSIS? em abril de 2015.
Ele tem uma tabela de quais versões do SQL mapeiam para qual PackageFormatVersion
pacote SSIS encontrado nos metadados XML. Isso é útil ao olhar para um único pacote individual.
Eu tenho uma pasta de cerca de 100 .DTSX
pacotes SSIS que preciso saber qual versão do SQL eles são.
Como posso determinar, em massa, o que PackageFormatVersion
(ou seja, a versão SQL) para vários .DTSX
pacotes em uma pasta (sistema de arquivos)?
O objetivo final é determinar qual é a versão apropriada do TFS para obter e implementar para colocar esses pacotes, já que nenhum sistema de controle de origem existe atualmente. A tabela que Kenneth apresenta me ajudará a responder essa pergunta, mas primeiro preciso confirmar quais são as versões do pacote SQL.
Suponha que eu NÃO tenha BIDS nem SSDT instalados.
Suponha que uma saída desejada seja algo assim, onde pipe designa uma nova coluna:
PackageFilename | PackageFormatVersion
--------------------------------------
Package1.dtsx | 3
Package2.dtsx | 4
PowerShell, TSQL, ferramentas de terceiros que podem rastrear uma estrutura de diretórios ou outras ferramentas são bem-vindas.
Recuperar informações dtsx programaticamente
Você pode ler minha resposta detalhada no StackoverFlow:
Aplicativo de demonstração
Criei um aplicativo de demonstração para realizar este procedimento, você pode baixá-lo no seguinte link:
Também criei um novo repositório Git para este aplicativo de demonstração
Captura de tela do aplicativo
Recuperar dtsx PackageFormatVersion usando TSQL
Eu escrevi uma consulta SQL que obtém arquivos de um diretório específico, filtra no arquivo *.dtsx e depois lê
PackageFormatVersion
a propriedade deles.Resultado parece
Referências