无法通过PowerShell运行SQL Server中的DTSX包求助
解决PowerShell执行SSIS部署包的路径问题
前置准备
- 确保已加载SQL Server PowerShell模块,未加载则执行:
Import-Module SqlServer
路径问题修正
SSMS生成的路径中%2E是URL编码的.,需替换为实际点号;同时SQLSERVER:驱动器依赖SqlServer模块,必须加载模块后才能正常识别该路径。
正确执行代码
方式1:导航到包路径后执行
# 切换到SSIS包所在的路径 Set-Location SQLSERVER:\SSIS\SM024761\DEFAULT\Catalogs\SSISDB\Folders\006_EXPORTDATA\Projects\EXPORT-P-USU-MULTI-DSDB\Packages # 获取目标包并执行 $targetPackage = Get-Item "EXPORT-P-USU-MULTI-DSDB.dtsx" $targetPackage.Execute("false", 0)
方式2:通过完整路径直接定位执行
$packageFullPath = "SQLSERVER:\SSIS\SM024761\DEFAULT\Catalogs\SSISDB\Folders\006_EXPORTDATA\Projects\EXPORT-P-USU-MULTI-DSDB\Packages\EXPORT-P-USU-MULTI-DSDB.dtsx" $targetPackage = Get-Item $packageFullPath $targetPackage.Execute("false", 0)
原代码问题说明
原代码中Get-ChildItem指向projects目录,但SSIS包实际存储在对应项目的Packages子目录下,且过滤逻辑错误地在项目目录中查找包文件,导致无法定位到目标包。
内容的提问来源于stack exchange,提问作者Sreejith Nair
相关产品推荐
相关产品推荐

