2010-12-14 62 views
0

J'ai une procédure stockée qui prend beaucoup de temps à s'exécuter. Nous voulons qu'il s'exécute pendant la nuit, mais il doit vérifier l'heure actuelle de temps en temps, et à un moment donné, il doit arrêter d'exécuter. Comment je fais ça? Veuillez me fournir le code que je peux utiliser dans ma procédure stockée. Nous utilisons Microsoft SQL Server 2005.Vérifier l'heure dans la procédure stockée

Répondre

1

Vous pouvez obtenir la date actuelle:

SELECT GETDATE() 

Arrêter l'exécution:

If @date > GETDATE() 
    RETURN --Exits procedure 

Où @date est la date/heure lorsque vous souhaitez arrêter l'exécution

0

Créez un plan de maintenance et spécifiez l'heure de début. Créez "Exécuter une tâche d'instruction T-SQL" dans ce plan et spécifiez le délai d'attente d'exécution (en secondes).

0

Pourquoi voudriez-vous exister un proc qui n'est pas fini? Ne seriez-vous pas en train de laisser les choses dans un mauvais état en ce qui concerne l'intégrité des données ou en annulant tout le travail que vous venez de faire ??

Ne serait-ce pas une meilleure solution pour essayer d'améliorer les performances du proc?

+0

Le proc effectue un certain travail comme 500 fois (pour différents projets), et il est bon qu'il se termine tant qu'il se termine entre l'un de ces travaux. – George