Kenneth Fisher 发布了一篇关于如何确定我的 SSIS 包的 SQL 版本是什么的博客文章?2015年4月。
它有一个表,其中 SQL 版本映射到PackageFormatVersion
XML 元数据中找到的哪个 SSIS 包。这在查看 1 个单独的包裹时很有用。
我有一个包含大约 100 个 SSIS.DTSX
包的文件夹,我需要知道它们都是哪个 SQL 版本。
我如何批量确定文件夹(文件系统)PackageFormatVersion
中多个包的内容(即 SQL 版本)?.DTSX
最终目标是确定哪个是正确的 TFS 版本来获取和实施以将这些包放入,因为当前不存在源代码控制系统。Kenneth 提供的表格将帮助我回答这个问题,但首先我需要确认包 SQL 版本是什么。
假设我没有安装 BIDS 或 SSDT。
假设所需的输出是这样的,其中管道指定一个新列:
PackageFilename | PackageFormatVersion
--------------------------------------
Package1.dtsx | 3
Package2.dtsx | 4
欢迎使用 PowerShell、TSQL、可以抓取目录结构的第 3 方工具或其他工具。
以编程方式检索 dtsx 信息
你可以在 StackoverFlow 上阅读我的详细回答:
演示应用
我创建了一个演示应用程序来实现此过程,您可以从以下链接下载它:
我还为此演示应用程序创建了一个新的Git 存储库
应用截图
使用 TSQL 检索 dtsx PackageFormatVersion
我编写了一个 SQL 查询,从特定目录获取文件,过滤 *.dtsx 文件,然后
PackageFormatVersion
从中读取属性。结果看起来像
参考