重复SQL查询需要每分钟一次或两次长时间停顿

时间:2017-04-14 10:27:53

标签: sql-server excel-vba vba excel

我使用another website中的ADO函数在同一工作站上的SQL Server Express数据库上从Excel VBA 2016进行查询。使用来自提供程序的新记录不断更新SQL数据库。

查询运行非常顺利,大约需要70毫秒才能执行。我每隔3秒从Excel VBA中的例程调用该查询。虽然每分钟一次或两次,但查询需要6000-12000毫秒。似乎查询是"挂"在某些原因的这些时刻。

当我关闭外部Feed时,问题就出现了!

我也使用了Express Profiler来深入了解原因。我在这篇文章下面添加了输出。第33和173行是具有长间隔的行。如您所见,此持续时间比其他(相同的查询)长得多。

我在选项中设置了READ_COMMIT_SNAPSHOT ON

我还在选项中设置了ALLOW_SNAPSHOT_ISOLATION ON

我没有关闭任何连接,尽管SQL确实给出了关闭所有连接的消息。

虽然测试后问题仍然存在。

看完之后: https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql我尝试使用命令SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED,但经过测试后,问题仍然存在。

有没有人知道这个问题的解决方案?

0 个答案:

没有答案