Mesure SQL stockée procédure d'exécution time

Je voudrais mesurer le time qu'il faut pour exécuter une procédure stockée dans SQL Server. Mais au lieu de simplement mesurer l'exécution entière de la procédure stockée, je voudrais également mesurer le time que prend chaque opération à l'intérieur de la procédure stockée, afin de pouvoir find des goulots d'étranglement.

En c # pour accomplir une telle chose en testant le time d'exécution du code je sauvegarderais la date avant que l'exécution commence et quand l'exécution se termine j'imprimerais l'object TimeSpan qui me est donné en soustrayant l'heure de début de l'heure courante.

Je me demandais comment je pourrais réaliser une telle chose avec SQL Server dans une procédure stockée où je pourrais imprimer l'intervalle de time que je mesure entre l'opération dans la procédure stockée.

Merci

SET STATISTICS TIME ON; SET STATISTICS IO ON; GO EXECUTE <yourSP>; GO 

Vous avez besoin du plan d'exécution réel . Vous pouvez les voir depuis l'exécution de la requête SQL dans SQL Management Studio avec le button droit enfoncé (ils apparaîtront sous la forme d'un onglet dans la window des résultats). Cela vous montrera quelles parties du sproc sont exécutées et le time pris par chaque bit – juste ce que vous voulez accorder.