2010-07-01 85 views
3

什么是最好的方式来知道哪些存储过程当前正在数据库中运行。运行存储过程

我有一个存储过程,基本上调用其他3,并将它们传递一些参数,这3个存储过程需要很长的时间才能完成......我想知道哪一个正在运行...

谢谢

+0

什么版本的SQL Server?如果2008年可能会有更好的方法。 – 2010-07-01 09:48:06

回答

2

我想你也可以用SQL profiler来获得更详细的信息。

+0

非常感谢 – 2010-07-01 09:47:45

2

使用活动监视器来检测当前正在数据库上运行的内容。 命令列可能指示哪个存储过程当前正在运行。

为了帮助你监视什么是存储过程正在运行,我会建议创建一个SQL作业来分别运行这3个存储过程作为步骤。这样,您可以在它们之间放置一个电子邮件警报步骤,以便您知道每个步骤何时完成。

这应该不会太难以在SQL Server代理中设置。

编辑:SQL事件探查器是一个选项,但这会影响性能,因为您将监视实时数据库,再加上您指出存储过程需要一段时间才能运行,因此您希望这些时间增加。国际海事组织我认为一个简单的电子邮件警报或其他形式的通知可以在每个存储过程结束时建立,这是您的最佳选择。

例如当每个存储过程完成时,简单地插入日志文件并带有时间戳指示。

+0

谢谢,我也试过这个,它工作! – 2010-07-01 09:49:55