web-dev-qa-db-ja.com

1秒ごとにSQLジョブを実行するにはどうすればよいですか?

所定の時間に最小量の行を処理するSQLジョブがあります。現在、ジョブスケジューラで使用可能な最小値である10秒ごとに実行されています。しかし、そのため、ジョブによって処理されて使用されるテーブルは、多くのレコードでいっぱいになります。したがって、1秒ごとにジョブを実行する必要があります。どうすればこれを達成できますか?アドバイスをお願いします。

5
mayooran

毎分開始するようにスケジュールされたジョブを作成します。仕事に次のようなことをさせてください:

WHILE 1=1
BEGIN
    EXEC dbo.SomeProcedure; /*  this would be the 
        name of a stored procedure that does the 
        actual work */
    WAITFOR DELAY '00:00:01.000';
END

この回答を提供してくれたMax Vernonに感謝 以前

6

例えば。

WHILE 1=1 -- remember infinite loop
Begin 
---- your tsql code goes here
Waitfor delay '00:00:01'
End

上記のメモにはエラー処理はありません。エラー処理にTRY/CATCHを使用できます

2
Kin Shah