我们有一个带有SQL Server的MS Access 2003 ADP应用程序。有时,没有任何明显的原因,此应用程序开始消耗100%的CPU时间(双核CPU系统为50%)。无论如何,这就是Windows任务管理器和其他进程监视/分析工具所显示的内容。通常,停止此类CPU抖动的唯一方法是重新启动应用程序。
我们仍然不知道如何随意触发此问题。但我感觉通常会在某些表单被用户关闭时发生。
NB:最近我们注意到,其中一种形式始终使CPU使用率在最小化时提高到100%。当该表单“未最小化”时,大多数时候CPU使用率恢复正常。也许,这是一个不同的问题,但我们也想揭开这个谜团。 :)
谷歌搜索此问题的解决方案并没有产生非常好的结果。最常见的理论是MS Access进入某种等待事件循环,这实际上是无害的,性能方面,因为运行该循环的线程具有非常低的优先级。这似乎对我们没有帮助,因为在我们的情况下(a)它肯定会损害系统的性能;(b)仍然不清楚究竟是什么让Access进入这种“糟糕的状态”以及如何避免这种情况。
答案 0 :(得分:1)
我以前曾经遇到过这个CPU使用问题,但我不记得是否曾经发现过一个解决方案,或者它在某个时刻就消失了。
在您的帖子中,您没有提及查看VBA。我建议寻找一个在某些条件下变成无限循环的循环。
答案 1 :(得分:1)
我想知道这个问题是否是“旧”时代曾经存在的访问问题
http://support.microsoft.com/kb/160819
虽然文章确实说它在版本> = 2000中已修复,但它仍然可能是某种东西。