Агент SQL Server: как «спать»? - PullRequest
0 голосов
/ 17 декабря 2008

На этапе создания сценария в запланированной задаче в SQL Server Agent 2005 мне нужно запустить веб-скрипт, который выполняется на другом сервере. Я делаю это:

Dim ie 
Set ie = CreateObject( "InternetExplorer.Application" )

ie.navigate "...to my dreamscript"

' Wait till IE is ready
Do While ie.Busy
    (1)
Loop

ie.Quit
set ie = Nothing

В (1) я хотел бы "спать" (например, WScript.sleep (..)), но WScript не доступен в этой среде. Есть ли другой способ «поспать» на время?

Ответы [ 3 ]

2 голосов
/ 17 декабря 2008

Если вы пытаетесь настроить только задачу агента SQL SErver, ожидающую определенного периода времени, используйте задачу T-SQL со сценарием

ЗАДЕРЖКА ОЖИДАНИЯ '01: 00: 00 '- подождите час

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

НТН Andy

1 голос
/ 17 декабря 2008

Вы можете написать приложение консоли и запустить приложение консоли в задании агента SQL.

0 голосов
/ 17 декабря 2008

Вы можете выполнить wscript, используя задачу агента SQL Server с типом «Операционная система (CmdExec)». Это требует, чтобы xp_cmdshell был включен, и он часто отключается (по умолчанию) из-за проблем безопасности. Однако он позволяет запускать программы, такие как wscript, которые запускаются из командной строки.

Вы можете переместить код в SQLCLR, где вы можете написать хранимую процедуру в C # или VB.Net. Код SQLCLR VB.Net будет очень похож на ваш оригинальный wscript.

...