Обязательно ли, чтобы время сохранялось в базе данных? Как правило, они используют для этого внешнюю службу планировщика (Task Scheduler или SQL Agent). И вызвать службу, запустив HTTP-клиента командной строки с URL-адресом службы. Например, Curl сработает, или вы можете собрать быстрый JavaScript с помощью вызова XMLHTTP и вызвать его с помощью cscript.exe.
Кроме того, если обработка данных может быть полностью реализована как хранимая процедура, нет необходимости в веб-службах и сценариях оболочки. Вызовите процедуру напрямую из агента SQL (при условии, что MS SQL Server).
РЕДАКТИРОВАТЬ: тогда вы значительно усложнили дизайн. Скажите, какой точный срок вы хотите? Вы хотите, чтобы время было точным до одной минуты, часа, одного дня? Если желаемая точность соответствует нескольким минутам, вот что вы можете сделать. Есть процедура в базе данных. Выполните его (с помощью агента SQL) на границе точности, скажем, каждые 5 минут. Пусть он проверит, пришло ли время запустить сервис. Если так, сделайте так, чтобы это вызвало сервис. XMLHTTP и OLE-автоматизация - это, вероятно, путь; ищите системные процедуры sp_OACreate, sp_OAMethod. Как то так:
declare @o int
exec sp_OACreate 'Msxml2.XMLHTTP', @o output
exec sp_OAMethod @o, 'open', @bstrMethod='GET', @bstrUrl='http://what-have-you/'
exec sp_OAMethod @o, 'send'
Процедуры sp_OAxxx по праву считаются очень небезопасными и требуют значительного уровня привилегий для запуска.