【问题标题】:Powershell scripts failing in SQL Agent jobsPowershell 脚本在 SQL 代理作业中失败
【发布时间】:2019-08-02 01:31:49
【问题描述】:

我有基于某些条件调用某些存储过程的 sql 代理作业。逻辑是在 powershell 中实现的。最近 sql 代理中的所有 powershell 作业都开始失败并显示错误消息:

该步骤未生成任何输出。进程退出代码 -2146232576。有人对这个问题有见解吗?

编辑: 大约在作业开始失败时,以下条目已在 Windows 事件日志设置中注册:

启动更改以关闭包 PowerShell-V2-ServerCore 的更新 MicrosoftWindowsPowerShellV2。客户端 ID:DISM 包管理器提供程序。

PowerShell-V2-ServerCore 包的可选更新 MicrosoftWindowsPowerShellV2 已成功关闭。

我不熟悉操作系统级别的更改。谁能解释发生了什么?

【问题讨论】:

  • 系统上有 Powershell 吗?日志条目似乎已被禁用。
  • @vonPryz 来自服务器我打开了 Powershell ISE 并执行了作业中的命令,它成功了。问题仅在从 Sql 代理作业运行时出现

标签: sql sql-server powershell


【解决方案1】:

答案是 SQL 代理正在使用 PS v2 引擎来执行您的脚本,而您的服务器管理员已使用 DISM 禁用了 PS v2。是的,您的脚本将在 ISE 中正常工作,因为它们几乎总是向后兼容 PS 3、4、5、6 等的较新版本。SQL 代理作业在您的脚本告诉 Powershell 使用 v2 引擎之前运行一个命令,该引擎功能不再安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多