Kenneth Fisher publicou um post sobre como determinar qual versão do SQL é meu pacote SSIS? em abril de 2015.
Ele possui uma tabela cujas versões SQL são mapeadas para qual PackageFormatVersion
pacote SSIS encontrado nos metadados XML. Isso é útil quando se olha para um único pacote individual.
Eu tenho uma pasta com cerca de 100 .DTSX
pacotes SSIS que preciso saber qual versão do SQL eles são.
Como posso determinar, em massa, qual PackageFormatVersion
é (para a versão SQL) de vários .DTSX
pacotes em uma pasta (sistema de arquivos)?
O objetivo final é determinar qual é a versão apropriada do TFS a ser obtida e implementada para colocar esses pacotes, pois não existe atualmente nenhum sistema de controle de origem. A tabela apresentada por Kenneth me ajudará a responder a essa pergunta, mas primeiro preciso confirmar quais são as versões SQL do pacote.
Suponha que NÃO tenho Lances nem SSDT instalados.
Suponha que uma saída desejada seja algo assim, em que pipe designa uma nova coluna:
PackageFilename | PackageFormatVersion
--------------------------------------
Package1.dtsx | 3
Package2.dtsx | 4
Ferramentas do PowerShell, TSQL, de terceiros que podem rastrear uma estrutura de diretórios ou outras ferramentas são bem-vindas.
fonte
Respostas:
Recuperar informações dtsx programaticamente
Você pode ler minha resposta detalhada no StackoverFlow:
Demo App
Criei um aplicativo de demonstração para alcançar esse 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 lê a
PackageFormatVersion
propriedade deles.O resultado parece
Referências
fonte