独立 SSIS DevOps 工具 提供一组可执行文件来执行 SSIS CICD 任务。 如果不依赖于安装 Visual Studio 或 SSIS 运行时,这些可执行文件可以轻松与任何 CICD 平台集成。 提供的可执行文件包括:
- SSISBuild.exe:在项目部署模型或包部署模型中生成 SSIS 项目。
- SSISDeploy.exe:将 ISPAC 文件部署到 SSIS 目录,或将 DTSX 文件及其依赖项部署到文件系统。
安装
需要 .NET Framework 4.6.2 或更高版本。
从下载中心下载最新安装程序。 此外,直接下载链接 可用于自动化脚本。
然后通过向导或命令行进行安装:
- 通过向导安装
双击要安装的 .exe 文件,然后指定要提取可执行文件和依赖项文件的文件夹。
- 通过命令行安装
SSISDevOpsTools.exe /Q /C /T:<full path>
SSISBuild.exe
语法
SSISBuild.exe -project|-p:<dtproj file path> [-configuration|-c:<configuration name>] [-projectPassword|-pp:<project password>] [-stripSensitive|-ss] [-output|-o:<output path>] [-log|-l:<log level>[;<log path>]] [-quiet|-q] [-help|-h|-?]
参数
参数 | 描述 |
---|---|
-project |-p:<dtproj 文件路径> | 要生成的 dtproj 文件的文件路径。 |
-configuration|-c:<配置名称> | 要用于生成的项目配置的名称。 如果未提供,则默认为 dtproj 文件中第一个定义的项目配置。 |
-projectPassword|-pp:<项目密码> | SSIS 项目及其包的密码。 仅当 SSIS 项目和包的保护级别为 EncryptSensitiveWithPassword 或 EncryptAllWithPassword 时,此参数才有效。 对于包部署模型,所有包都必须共享此参数指定的相同密码。 |
-stripSensitive|-ss | 将 SSIS 项目的保护级别转换为 DontSaveSensitive。 当保护级别为 EncryptSensitiveWithPassword 或 EncryptAllWithPassword 时,必须正确设置参数 -projectPassword。 此选项仅适用于项目部署模型。 |
-output|-o:<输出路径> | 构建工件的输出路径。 此参数的值将覆盖项目配置中的默认输出路径。 |
-log|-l:<日志级别>[;<日志路径>] | 记录相关设置。 |
-quiet|-q | 不向标准输出显示任何日志。 |
-help|-h|-? | 显示此命令行实用工具的详细使用情况信息。 |
示例
使用第一个定义的项目配置生成 dtproj,而不使用密码进行加密:
SSISBuild.exe -p:"C:\projects\demo\demo.dtproj"
使用配置“DevConfiguration”生成 dtproj,使用密码加密,并将生成项目输出到特定文件夹:
SSISBuild.exe -p:C:\projects\demo\demo.dtproj -c:DevConfiguration -pp:encryptionpassword -o:D:\folder
使用配置“DevConfiguration”生成 dtproj,使用密码进行加密,剥离其敏感数据,并将日志级别设置为 DIAG:
SSISBuild.exe -p:C:\projects\demo\demo.dtproj -c:DevConfiguration -pp:encryptionpassword -ss -l:diag
SSISDeploy.exe
语法
SSISDeploy.exe -source|-s:<source path> -destination|-d:<type>;<path>[;server] [-authType|-at:<auth type name>] [-connectionStringSuffix|-css:<connection string suffix>] [-projectPassword|-pp:<project password>] [-username|-u:<username>] [-password|-p:<password>] [-log|-l:<log level>[;<log path>]] [-quiet|-q] [-help|-h|-?]
参数
参数 | 描述 |
---|---|
-source|-s:<源路径> | 要部署的工件的本地文件路径。 允许使用 ISPAC、DTSX、DTSX 的文件夹路径以及 SSISDeploymentManifest。 |
-destination|-d:<类型>;<路径>[;server] | 目标类型、目标文件夹的路径以及要将源文件部署到的 SSIS 目录的服务器名称。 目前,我们支持以下两种目标类型: /SSISDB/<文件夹名称>[/<项目名称>] 仅当源指定单个 ISPAC 文件路径时,可选的 <项目名称> 才有效。 必须为 CATALOG 目标指定服务器名称。 \\<计算机名称>\<文件夹名称>[\<子文件夹名称>...] |
-authType|-at:<身份验证类型名称> | 用于访问 SQL Server 的身份验证类型。 对于 CATALOG 目标是必需的。 支持以下类型: |
-connectionStringSuffix|-css:<连接字符串后缀> | 连接字符串的后缀,用于连接到 SSIS 目录。 |
-projectPassword|-pp:<项目密码> | 用于解密 ISPAC 或 DTSX 文件的密码。 |
-username|-u:<用户名> | 用于访问指定 SSIS 目录或文件系统的用户名。 允许用于文件系统访问的域名前缀。 |
-password|-p:<密码> | 用于访问指定 SSIS 目录或文件系统的密码。 |
-log|-l:<日志级别>[;<日志路径>] | 记录运行此实用工具的相关设置。 |
-quiet|-q | 不要在标准输出中显示日志。 |
-help|-h|-? | 显示此命令行实用工具的详细使用情况信息。 |
示例
使用 Windows 身份验证将未使用密码加密的单个 ISPAC 部署到 SSIS 目录。
SSISDeploy.exe -s:D:\myfolder\demo.ispac -d:catalog;/SSISDB/destfolder;myssisserver -at:win
使用 SQL 身份验证将使用密码加密的单个 ISPAC 部署到 SSIS 目录,并重命名项目名称。
SSISDeploy.exe -s:D:\myfolder\test.ispac -d:catalog;/SSISDB/folder/testproj;myssisserver -at:sql -u:sqlusername -p:sqlpassword -pp:encryptionpassword
将单个 SSISDeploymentManifest 及其关联的文件部署到 Azure 文件共享。
SSISDeploy.exe -s:D:\myfolder\mypackage.SSISDeploymentManifest -d:file;\\myssisshare.file.core.windows.net\destfolder -u:Azure\myssisshare -p:storagekey
将 DTSX 文件的文件夹部署到本地文件系统。
SSISDeploy.exe -s:D:\myfolder -d:file;\\myssisshare\destfolder
发行说明
版本 1.0.0.0
发布日期:2021 年 9 月 1 日
- 正式发布 (GA) 版。
版本 0.1.3.1 预览版
发布日期:2021 年 6 月 10 日
- 修复了问题:SSISDeploy.exe 部署 SSIS 项目失败,收到错误“未经处理的异常: System.IO.FileLoadException: 无法加载文件或程序集 "Microsoft.SqlServer.IntegrationServices.ProjectDeployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 或其依赖项之一。 强名称验证失败。 (来自 HRESULT 的异常: 0x8013141A) ---> System.Security.SecurityException: 强名称验证失败。 (来自 HRESULT 的异常: 0x8013141A)”。
版本 0.1.3 预览版
发布日期:2021 年 6 月 2 日
- 修复了 SSISBuild.exe 无法构建项目的错误,错误信息为“项目一致性检查失败”。 当项目中的包名称包含特殊字符时,检测到以下不一致。
- 修复了当 dtproj 中的名称与文件名不匹配时,SSISBUild.exe 无法生成项目的问题。
- 修复了当项目面向 SQL Server 2016 时,SSISBuild.exe 无法生成具有保护级别 encryptSensitiveWithPassword/EncryptAllWithPassword 的项目的问题。
版本 0.1.2 预览版
发布日期:2021 年 1 月 14 日
- 修复了以下问题:SSIS 项目文件中的包参数元数据与 SSIS 包不匹配时,SSISBuild.exe 无法生成项目且出现 NullReference 异常。
- 修复了以下问题:当已使用 EncryptSensitiveWithUserKey 对包含包的 SSIS 项目进行加密并且该包包含具有敏感数据的 CM 时,尽管已使用 SSISDeploy.exe 将包成功部署到 SSISDB,但包无法执行且出现以“无法解密受保护的 XML 节点”开头的错误。
版本 0.1.1 预览版
发布日期:2020 年 11 月 11 日
- 修复了将 ispac 部署到 SSIS 目录时 SSISDeploy.exe 无法加载程序集的问题。
版本 0.1.0 预览版
发布日期:2020 年 10 月 16 日
独立 SSIS DevOps 工具的初始预览版。
后续步骤
- 获取独立 SSIS DevOps 工具
- 如有疑问,请访问 Q&A