无需项目部署,PowerShell运行SSIS包的可行性及客户端远程执行方案
能否不依赖DTExec.exe运行包部署模式的SSIS包?
可以,但微软官方提供的PowerShell原生运行方法仅支持项目部署模式。要绕开DTExec.exe,你需要基于SSIS对象模型编写自定义程序(比如C#/VB.NET控制台应用):
- 引用
Microsoft.SqlServer.Management.IntegrationServices和Microsoft.SqlServer.Dts.Runtime两个核心程序集; - 通过代码直接加载本地或远程存储的
.dtsx包文件,配置好连接管理器、变量、参数等内容后触发执行。
这种方式完全不依赖DTExec.exe,但要求客户端机器能访问包依赖的所有资源(数据源、文件共享等),且具备对应权限。
客户端无服务器执行权限时,需安装什么组件实现远程执行SSIS包?
客户端需要安装SQL Server Integration Services 客户端工具,具体说明:
- 从SQL Server安装介质中选择「客户端工具连接」分类,勾选
Integration Services组件(可选同时安装SQL Server Management Tools(SSMS),方便调试配置); - 安装完成后,可通过两种方式远程执行:
- 基于SSIS对象模型编写自定义程序,远程加载存储在服务器文件共享或msdb数据库中的包部署模式包;
- 使用自带的
DTExecUI.exe图形工具,配置远程包的路径(如\\服务器名称\共享目录\目标包.dtsx)或msdb中的包路径(格式:SQLServer;服务器名称;包名称),通过图形界面完成执行配置并运行;
- 权限要求:客户端账号必须拥有远程包存储位置(共享文件夹/msdb)的访问权限,以及包运行时所需的各类数据源访问权限。
内容的提问来源于stack exchange,提问作者lit
相关产品推荐
相关产品推荐

