通过ajax开始并监视长时间运行的SQL查询的进度

时间:2009-08-18 09:25:50

标签: sql ajax tsql sql-server-agent

是否可以启动一个需要花费大量时间的查询并通过Ajax监控UI的进度?

我考虑将该流程作为计划立即运行的“一次运行”作业启动。我可以将结果存储在临时表中,以便在完成后快速检索。我还可以记录报告的运行时间并将其平均,以便估计进度条的运行时间。

我目前使用Microsoft SQL 2005,但如果有必要,我愿意使用其他DBMS,如SQL 2008,MySQL等。

1 个答案:

答案 0 :(得分:0)

一个想法,如果长时间运行的作业填充另一个表。

您有第二个数据库连接来监视源行中处理的行数,并且每隔几秒显示一个简单的“x行处理”

SELECT COUNT(*) FROM TargetTable WITH (NOLOCK)

如果您还有源表:

SELECT COUNT(*) FROM SourceTable WITH (NOLOCK)

..然后你可以使用“x行y行处理”

基本上,您必须使用第二个连接来监控第一个连接。但是,你还需要一些东西来衡量......