Je supposerais que ce que je suis sur le point de demander serait de tomber généralement dans le domaine de la "mauvaise pratique", mais je veux demander quelles que cette fonctionnalité soit utile pour diagnostiquer des problèmes et un banc de raccordement de longs scripts. P>
En bref, existe-t-il une fonction intégrée à SQL Server que je pouvais appeler cela permettrait de "faire une pause" pendant une courte période? P>
J'ai un processus nocturne SSIS qu'après l'exportation de données génère divers sous-ensembles de données statistiques. Chaque fois que j'ai des problèmes avec des horaires d'exécution du package SSIS, j'ai une série de procédures stockées de diagnostic que je peux appeler cet aide à diagnostiquer à l'exportation / insert en vrac prenant exceptionnellement longuement à exécuter. p>
Au cours de la seconde moitié de mon processus SSIS, où je générerai des données statistiques, il serait vraiment bénéfique si je pouvais analyser lorsque le processus peut être enlèvement ou analyser la rapidité avec laquelle il peut modifier les données de mes tables de données. La majeure partie de la procédure statique commence par l'insertion des données dans une table cyclée via tandis que des boucles et mis à jour lorsque les conditions nécessaires sont remplies. P>
Je peux facilement interroger mes données pour capturer une métrique spécifique pendant que mes procédures stockées statistiques sont en cours d'exécution. Ce que je voudrais faire est de saisir cette métrique, attendez exactement 1 seconde (ou une certaine quantité de temps) et saisissez la métrique à nouveau afin que je puisse les comparer. p>
En étant capable de mettre en œuvre une "pause", je peux créer des scripts de diagnostic plus robustes que définissez le nombre d'insertions, de mises à jour ou de calculs sont exécutés par seconde et peuvent donc estimer les parties de mes principales procédures prenant la plus longue. p>
Je supposerais qu'il peut y avoir des outils de diagnostic que je pourrais utiliser à partir de SQL Server Management Studio. J'admets, je n'ai pas bricolé de cela. Cependant, généralement s'il y a un outil au sein de la SSMS, une grande partie de la fonctionnalité arrière peut être imitée par une forme de script de fantaisie. Une autre limitation possible à l'utilisation de tout diagnostic intégré est que je préférerais exécuter ces métriques pendant que le package SSIS fonctionne non seulement pendant que je teste les procédures stockées qui exécutent dans l'emballage. P>
Merci les gars pour des solutions ou des conseils! Cette demande n'est pas 100% nécessaire, mais mes forfaits ssis nocturnes deviennent de plus en plus massifs et je dois commencer à régler les "roues Speeky" que j'ai pu ignorer dans le passé. P>
3 Réponses :
Vous utiliseriez le Waitfor Delay Déclaration P>
C'est ce que je cherche. J'ai essayé de google pour ce type de chose (honnête!) Mais je ne pouvais pas le trouver. Merci.
p>
Sélectionnez GetDate () - Attendez 10 secondes pour exécuter une autre commande p>
waitfor délai '00: 00: 10 '; --Accept Valeur HH: MM: SS P>
Sélectionnez GetDate () P>
p>
Qu'en est-il de la mise en œuvre d'une approche de table d'enregistrement, où vos procédures de course à long terme insérent des horodatages et des informations d'état dans une table séparée pendant l'exécution? Une trace bien structurée de cette manière vous donnera la capacité de déterminer les métriques que vous intéressez, n'est-ce pas?