none
SQL агент видит неверный exit code RRS feed

  • Вопрос

  • Есть мэйнтенс план.

    Должен запустится скрипт(пробовал и powershell и CMD) собрать информацию и на её основе выполнить "exit /b 1" или "exit /b 1".

    Но агент действует так как будто всегда получает "exit /b 0"

    Для тестов оставил в скрипте только одну строку

    "exit /b 1"

    и результат прежний - план выполняется успешно,хотя должен валиться с ошибкой.

    Нашёл много инфы по этой теме но ни один из вариантов предложенных у меня не отработал.

    Возможно что-то не догоняю.



    • Изменено rastagin 28 сентября 2020 г. 13:48
    28 сентября 2020 г. 13:48

Ответы

  • Проблему решил.

    1. Прав системы почему-то было недостаточно для запуска скриптов, они просто не выполнялись, но на выходе всё равно был 0(создал учётку)
    2. Версия Powershell установленная в системе это не та версия в которой будет выполняться ваш скрипт.

    Вот вывод команды host выполненной в powershell.exe

    Name                  : ConsoleHost
    Version                : 5.1.14393.3866
    InstanceId            : 2c3777a5-8d4c-4c77-83d4-40cb39d21974
    UI                        : System.Management.Automation.Internal.Host.InternalHostUserInterface
    CurrentCulture      : ru-RU
    CurrentUICulture   : en-US
    PrivateData           : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
    DebuggerEnabled  : True
    IsRunspacePushed : False
    Runspace              : System.Management.Automation.Runspaces.LocalRunspace

    А вот вывод той же команды выполненной через sql Agent

    Name                  : Default Host
    Version                : 2.0
    InstanceId           : 33c2c08d-f20f-4a9c-a918-675dbf406aec
    UI                       : System.Management.Automation.Internal.Host.InternalHostUserInterface
    CurrentCulture     : en-US
    CurrentUICulture  : en-US
    PrivateData          : 
    IsRunspacePushed : 

    Runspace         : 

    Соотвтественно пришлось переточить скрипт под 2.0 и всё взлетело.

    Осталось понять как обновить младший инстанс Powershell и как добавить в него модули, но это уже совсем другая история.

    • Помечено в качестве ответа rastagin 9 октября 2020 г. 5:57
    9 октября 2020 г. 5:56