Ниже выполняется с помощью планировщика заданий, две команд выполняются с использованием тех же задач (просто изменением времени запуска), и я выход из системы сервера, прежде чем происходит время запуска задачи.по расписанию 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