Назад | Перейти на главную страницу

exe зависает по расписанию от агента SQL, но нормально при запуске пользователем

У меня есть задание агента SQL на кластерном сервере SQL 2008R2 в Windows 2003 Enterprise. Это шаг операционной системы (CmdExec), запускающий исполняемый файл. Когда он выполняется по расписанию, процесс запускается, и задание отображается как выполняющееся. Однако это никогда не завершает работу.

Когда я запускаю исполняемый файл в интерактивном режиме, то есть дважды щелкаю по нему, он запускается и завершает свою обработку примерно через 10 минут, как и ожидалось.

Я контролировал exe с помощью procmon, когда он зависает, и он не регистрирует ошибок, он просто прекращает обработку (но exe все еще работает)

Я на 90% уверен, что это как-то связано с учетной записью пользователя, на которой запущен агент SQL, и локальной политикой безопасности. У учетной записи есть все привилегии, которые, как мне кажется, ей необходимы - вход в систему как служба, вход в систему как пакет и т. Д. Я думаю, что за период тестирования я практически назначил ей все права в политике.

Есть идеи, почему exe будет нормально работать в интерактивном режиме, но не работает с агентом SQL?

Вам необходимо убедиться, что вы можете запустить команду поскольку пользовательский агент SQL Server работает как:

RUNAS /user:SqlAgentUser <command>