2009-08-19 9 views
3

Est-il possible de vérifier s'il existe un proc stocké en cours d'exécution dans SQL Server ???Vérifiez si un proc stocké est en cours d'exécution?

+0

SQL 2000 ou 2005/8? Les outils sont assez différents entre les deux. – Anon246

+0

J'utilise SQL Server 2005 –

+0

duplication possible de [Sql Server 2000 - Comment puis-je savoir quelles procédures stockées sont en cours d'exécution?] (Http://stackoverflow.com/questions/129086/sql-server-2000-how -can-i-find-what-stock-procedures-are-running-currentl) – CodeCaster

Répondre

0

Il y a le moniteur d'activité dans le studio de gestion. Il y a aussi sp_who et sp_who2. Cela vous donnera une idée de ce qui est en cours d'exécution. Cependant, si vous avez besoin de savoir par programme si une procédure est "en cours" ou de ne pas l'appeler à nouveau, alors je considérerais un drapeau quelque part pour indiquer "SPIsRunning" que vous avez défini au début et à la fin de la procédure elle-même.

0

Via TSQL, vous pouvez essayer d'évaluer les résultats de DBCC INPUTBUFFER pour chaque SPID, mais c'est assez compliqué à faire.

0
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] 
    FROM sys.dm_exec_query_stats AS deqs 
      CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest 
    WHERE dest.TEXT LIKE '%YOUR OBJECT NAME HERE%'  
ORDER BY deqs.last_execution_time DESC 

http://connectsql.blogspot.com/

+0

C'est une requête sympa, mais qui ne vous indique que la dernière fois que la procédure a démarré, pas si elle est toujours en cours d'exécution –

0

Si vous voulez juste voir l'utilisation de l'activité de profils SQL traçage des procédures stockées à partir de & complété. Peut-être que cela vous aide.

Questions connexes