J'ai un travail SQL qui traite une quantité minimale de lignes à un moment donné. Actuellement, il fonctionne toutes les 10 secondes qui est le minimum disponible dans le planificateur de travail. Mais à cause de cela, la table utilisée traitée par le travail est remplie de nombreux enregistrements. J'ai donc besoin de courir le travail tous les 1 seconde. Comment peut y parvenir? S'il vous plaît conseil.
Créez un travail programmé pour commencer chaque minute. Avoir le travail faire quelque chose comme:
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
Merci à Max Vernon, qui m'a donné cette réponse plus tôt .
Par exemple.
WHILE 1=1 -- remember infinite loop
Begin
---- your tsql code goes here
Waitfor delay '00:00:01'
End
La note ci-dessus n'a aucune manipulation d'erreur. Vous pouvez utiliser Essayer/Catch pour la manipulation des erreurs