SSIS 运行运行 powershell 脚本但 SSMS 不运行的包
SSIS runs package that runs powershell script but SSMS don't
我在 SSIS 上有一个程序包,它执行一个 .BAT 文件,该文件随后执行一个 PowerShell 文件,从一个文件夹中获取文件元数据,生成一个 CSV 文件。
我已经授予 SQL Server Agent 用户访问该文件夹的权限,但没有成功。
当我 运行 SSIS 上的包时,它工作正常!但是,如果我通过 SSMS 中的 JOB 执行相同的包,它会结束该步骤,但未执行 .BAT 文件,或者如果已执行,则 Powershell 文件没有执行,因为执行后 CSV 文件为“1kb” , 没有数据。
我是不是忘记了什么?
SSIS 包(葡萄牙语):
[编辑 1]
我注意到一件奇怪的事,SSMS 安排了 3 个包,但只有一个不起作用,这就是问题中提到的那个。但我无法找出原因或与其他人有何不同。
2 个包从 Sharepoint 中提取信息并在 SSMS 上工作,但另一个从文件中提取元数据的包则不能。
检查作业步骤的“运行 As”值,这是一个“代理”(在 SSMS 的对象资源管理器中可见。
打开代理(SQL 服务器代理 >> 代理 >> SSIS 包执行)。它将列出一个凭据名称。
打开凭据(安全 >> 凭据)。它将列出一个身份。 那是需要配置安全的用户。
打开 cmd
window 和 运行 runas /user:<userGoesHere> cmd
并在出现提示时输入密码。见 documentation of runas
here
现在,它会打开第二个 cmd
window,此用户 运行 在 SQL 服务器代理中使用。执行你的批处理文件,看看你是否会发现任何错误。
此外,您正在 运行 的进程可能需要用户拥有 Log on as a batch job
权限。 运行 secpol.msc
来自管理员帐户并将此用户添加到此权限。
我在 SSIS 上有一个程序包,它执行一个 .BAT 文件,该文件随后执行一个 PowerShell 文件,从一个文件夹中获取文件元数据,生成一个 CSV 文件。
我已经授予 SQL Server Agent 用户访问该文件夹的权限,但没有成功。
当我 运行 SSIS 上的包时,它工作正常!但是,如果我通过 SSMS 中的 JOB 执行相同的包,它会结束该步骤,但未执行 .BAT 文件,或者如果已执行,则 Powershell 文件没有执行,因为执行后 CSV 文件为“1kb” , 没有数据。
我是不是忘记了什么?
SSIS 包(葡萄牙语):
[编辑 1]
我注意到一件奇怪的事,SSMS 安排了 3 个包,但只有一个不起作用,这就是问题中提到的那个。但我无法找出原因或与其他人有何不同。
2 个包从 Sharepoint 中提取信息并在 SSMS 上工作,但另一个从文件中提取元数据的包则不能。
检查作业步骤的“运行 As”值,这是一个“代理”(在 SSMS 的对象资源管理器中可见。
打开代理(SQL 服务器代理 >> 代理 >> SSIS 包执行)。它将列出一个凭据名称。
打开凭据(安全 >> 凭据)。它将列出一个身份。 那是需要配置安全的用户。
打开 cmd
window 和 运行 runas /user:<userGoesHere> cmd
并在出现提示时输入密码。见 documentation of runas
here
现在,它会打开第二个 cmd
window,此用户 运行 在 SQL 服务器代理中使用。执行你的批处理文件,看看你是否会发现任何错误。
此外,您正在 运行 的进程可能需要用户拥有 Log on as a batch job
权限。 运行 secpol.msc
来自管理员帐户并将此用户添加到此权限。