所定の時間に最小量の行を処理するSQLジョブがあります。現在、ジョブスケジューラで使用可能な最小値である10秒ごとに実行されています。しかし、そのため、ジョブによって処理されて使用されるテーブルは、多くのレコードでいっぱいになります。したがって、1秒ごとにジョブを実行する必要があります。どうすればこれを達成できますか?アドバイスをお願いします。
毎分開始するようにスケジュールされたジョブを作成します。仕事に次のようなことをさせてください:
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に感謝 以前 。
例えば。
WHILE 1=1 -- remember infinite loop
Begin
---- your tsql code goes here
Waitfor delay '00:00:01'
End
上記のメモにはエラー処理はありません。エラー処理にTRY/CATCHを使用できます