有一个奇怪的问题。我正在测试一个我编写的通过 AJAX 查询 SQL 服务器的 ASP.NET 应用程序。该应用程序正在使用 LINQ-to-SQL 从连接中的大约 8 个左右的表中加载数据,并且每隔一段时间,对 SQL 服务器的调用就会锁定并且永远不会返回。
我的第一个想法是它陷入了僵局,但根据我的阅读,如果发生这种情况,SQL Server 应该选择杀死一个有问题的线程。在这个应用程序的情况下,也没有任何其他用户访问数据库,所以我不明白这可能是什么问题。
其他症状:
执行此调用时,服务器上的处理器使用率会达到 40% 左右,并保持在那里,即使在应用程序关闭后(在 Visual Studio 中为“已停止”)。
服务器继续执行调用,直到我真正去杀死托盘中的 Visual Studio Web 服务器 (Cassini)。
查看 SQL 服务器在做什么时,我们只能看到它正在执行 LINQ-to-SQL 调用,没有什么异常。
有人对这种“气味”有什么想法吗?
谢谢,山姆