Я пытаюсь выполнить простой код SQL, который выполняется через каждые 30 секунд - PullRequest
0 голосов
/ 12 декабря 2018
declare @timeToRun nvarchar(50);
declare @t1 int;

set @t1=10;
set @timeToRun = right(rtrim(CONVERT(VARCHAR(70), GETDATE(), 108)),2)

if @timeToRun = @t1 
begin
--   waitfor time @timeToRun
   begin
       print 'Hello';
   end
end

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Я нахожу код, который работает правильно, проблемы возникают с SQL SERVER EXPRESS EDITION, он не предоставляет SQL AGENT, такой же запрос успешно выполняется с SQL SERVER STANDARD EDITION.

0 голосов
/ 12 декабря 2018

Код SQL Server, который необходимо запускать повторно, лучше выполнять с помощью задания агента SQL Server. Вот документация для создания задания агента SQL Server .Вкратце, процедура для этого в SQL Server Management Studio:

  1. В обозревателе объектов щелкните знак плюс, чтобы развернуть сервер, на котором вы хотите создать задание агента SQL Server.

  2. Щелкните значок плюса, чтобы развернуть Агент SQL Server.

  3. Щелкните правой кнопкой мыши папку «Задания» и выберите «Новое задание ...».

  4. В диалоговом окне «Новое задание» на странице «Общие» измените общие свойства задания.

  5. На странице «Шаги» организуйтешаги работы.

  6. На странице расписаний организуйте расписания для работы.

  7. На странице оповещений организуйте оповещения для работы.

  8. На странице уведомлений задайте действия, которые агент Microsoft SQL Server должен выполнять после завершения задания.

  9. На странице "Задачи" управляйтецелевые серверы для задания.

  10. Когда закончите, нажмите OK.

...