You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用devenv生成带EncryptSensitiveWithPassword的ispac时如何免交互传密码?

解决VS2019下非交互构建带密码加密的SSIS项目问题

针对你遇到的VS2019迁移后,非交互环境构建EncryptSensitiveWithPassword加密的SSIS项目时弹出密码提示的问题,以下是几种可行的解决方案:

方案一:使用MSBuild直接构建并传递密码

VS2019已将SSIS项目的构建逻辑整合到MSBuild体系中,无需手动引用旧版Microsoft.SqlServer.IntegrationServices.Build.dll。直接通过MSBuild命令传递密码参数即可完成无交互构建:

MSBuild "project\SsisCommon.dtproj" /p:Configuration=Development /p:SSISPassword=你的加密密码

其中SSISPassword参数对应项目SecurityLevel为EncryptSensitiveWithPassword时所需的密码,执行该命令不会触发交互弹窗,完全适配非交互环境。

方案二:使用ISDeploymentWizard.exe命令行模式(构建+部署一体化)

如果需要同时完成ispac包生成和SSISDB部署,可使用SSIS部署向导的静默命令行模式,该工具支持直接传递密码:

ISDeploymentWizard.exe /Silent /ProjectFile:"project\SsisCommon.dtproj" /TargetServerName:你的SQL服务器名 /TargetPath:/SSISDB/目标文件夹/项目名 /Password:你的加密密码

工具默认路径参考:C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\ISDeploymentWizard.exe(版本号150对应SQL Server 2019,若安装其他版本可调整路径中的版本号)。

方案三:临时调整项目加密方式(仅限临时测试场景)

若只是紧急测试,可临时修改SSIS项目的SecurityLevel为EncryptSensitiveWithUserKey或DoNotSaveSensitive,构建完成后再改回原配置。但此方法仅适用于临时场景,不建议长期使用,避免敏感数据泄露或配置混乱。

补充说明

你之前依赖旧版Microsoft.SqlServer.IntegrationServices.Build.dll的构建方式失效,是因为VS2019对SSIS构建组件的依赖关系和部署路径做了调整,直接引用旧组件会出现vsintegration.dll这类依赖缺失问题,使用上述官方支持的工具或MSBuild参数是更稳定的长期解决方案。

内容的提问来源于stack exchange,提问作者Cascador84

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:50:21