Как установить время ожидания CmdExec задания SQL Server 2005 - PullRequest
2 голосов
/ 29 июля 2009

У меня есть настройка задания в SQL Server 2005 с шагом операционной системы (CmdExec).

Этот шаг вызывает программу, выполнение которой может занять много времени. Я вижу, что если программе требуется более 1 минуты 40 секунд, чтобы ответить, происходит сбой шага с сообщением об ошибке «Тайм-аут операции». Программа фактически продолжает работать и генерирует желаемые результаты.

Как установить период ожидания для шага в этом задании. В качестве альтернативы, если есть способ установить время ожидания для всей работы, который был бы столь же полезным, так как это единственный шаг в работе. Если ничего не помогает, я бы хотел изменить время ожидания для всего сервера, хотя, очевидно, это будет последним средством.

Я попытался просмотреть свойства шага, задания и агента SQL Server, но не смог найти нигде для установки этого параметра.

Ответы [ 2 ]

2 голосов
/ 29 июля 2009

Задания SQL не имеют тайм-аутов - вы не можете настроить их на самостоятельную остановку, если они выполняются слишком долго или достигают определенного момента времени. (Если бы вы могли сэкономить мне много времени на разработку!) Вы можете настроить шаги для проверки времени или продолжительности, и можете кодировать действия, предпринятые в шагах, чтобы проверить время, но на уровне задания или шага, нет.

Что делает этот вопрос интересным. Почему вы получаете тайм-аут? Исходя из того, что вы сказали, я предполагаю, что агент SQL не может сказать, что ОС получила команду «сделать это», отправляемую вами через шаг cmdexec. После отправки и ожидания он думает, что задание никогда не запускается, и сообщает об этом (и есть тайное время ожидания вашей системы). Как это происходит? Вы могли бы инвестировать конфигурации безопасности или права доступа к файлам, но я бы начал с рассмотрения того, что вы запускаете, - что-то в этом пахнет для меня подозрительно.

1 голос
/ 19 августа 2009

Веб-сервисы - ваш ответ. Как отметил Филлип, для выполнения заданий в SQL Server нет времени.

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

В противном случае вам нужно поговорить с поставщиком веб-услуг, чтобы продлить время ожидания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...