web-dev-qa-db-fra.com

Comment puis-je exécuter un travail SQL tous les 1 seconde?

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.

5
mayooran

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 .

6
Musakkhir Sayyed

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

2
Kin Shah