0

Ниже выполняется с помощью планировщика заданий, две команд выполняются с использованием тех же задач (просто изменением времени запуска), и я выход из системы сервера, прежде чем происходит время запуска задачи.по расписанию Sqlcmd Задача не работает

Если я создаю командный файл для следующей команды, он выполняет штраф (он создает файлы журнала и записывает вывод sqlcmd в файл), кроме того, вывод в файле журнала равен 1, что объясняет, что учетная запись, запускающая пакетный файл имеет разрешения на выполнение хранимой процедуры:

sqlcmd -E -S .\SQLEXPRESS -d WEDFUTtest -Q"select HAS_PERMS_BY_NAME('sp_DBMaintenance', 'OBJECT', 'EXECUTE')" -o %FILENAMEANDPATH% 

Если отредактировать пакетный файл (так он поддерживает то же разрешение и т.д.) с помощью следующей команды:

sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_DBMaintenance @dbName=TestDB, @FragmentationThresholdForReorganizeTableLowerLimit='5.0', @FragmentationThresholdForRebuildTableLowerLimit='30.0'" -d TestDB -o %FILENAMEANDPATH% 

и выхода и разрешить задачу Планировщик для запуска, он не работает, т.е. нет файла журнала и вся задача выполняется в очень короткий промежуток времени, иногда до 1 секунды ... и я знаю, что сценарий sp_DBMaintenance занимает более 20 минут, чтобы закончить ... нет никаких сообщений об ошибках ...

Кроме того (вошел в систему на учетной записи администратора домена) Я могу вручную запустить вторую (нерабочую) команду вручную либо через cmd, либо щелкнув правой кнопкой мыши задачу в планировщике задач, и все работает нормально.

Таким образом, вопрос, почему не вторая команда работает правильно?

P.S. % FILENAMEANDPATH% имеет форму SP_Log_23-11-2016_11-41-00.log

ответ

0

Я поставил «ответ» здесь в случае, если это помогает любому встречая подобный вопрос ...

Оба 1-й и 2-я команда имеют одинаковые настройки для планировщика заданий ...

С другой стороны, я снял флажок «Запуск с наивысшими привилегиями» и теперь действует вторая команда?!?!?!?!? Я не понимаю, почему, но теперь он работает ...

Взятые из Technet

«Если вы установите флажок Выполнить с наивысшими правами, планировщик заданий будет выполнять задачу, используя на возвышенности привилегий лексема, а не (UAC) ... »

Что меня озадачивает, так как первая команда выполнена sqlcmd с« Run with high privileges », но 2-й sqlcmd работает без нее?! ??!?!?!?!

Смежные вопросы