我遇到一个奇怪的问题,在我的程序中遇到一个特定的数据库,我会尽力解释它。
我们有一个使用WebSphere数据池连接到数据库的Web应用程序。我们使用该连接来连接到同一数据库服务器中的其他数据库。在这一点上,一切都很好。我创建了一个创建报告的servlet,因此它必须对各种DB运行多个查询。它运行快速而快速,但当它到达第4个数据库时,它会停止并且连接挂起。我进入了数据库服务器Activity Monitor,在那里我看到它创建了几个运行的线程,一些被暂停。当我杀死其中一个时,我的程序会回来并且错误输出并继续。它继续执行此操作,同时它正在击中特定的数据库,一旦完成它并继续它就完成下一个3 DB而没有问题。
我查看了这个数据库的属性并将其与其他数据库进行了比较,但我没有看到任何不同之处。有人可以指出我正确的方向来确定这个DB的问题吗?
更新 - 以下是活动监视器的屏幕截图:
答案 0 :(得分:0)
检查关闭的连接是否可能正在执行如此多的查询,这将影响服务器的运行状况,或尝试在工作台中运行这些查询,以便您可以查看它们是否花费了太多时间来执行。
答案 1 :(得分:0)
经过多次摆弄这个数据库后,我后来被告知这个特定的数据库最初是从MSSQL服务器2000迁移的,我们目前正在使用MSSQL 2008 r2。我创建了一个新的数据库,将所有数据从损坏的数据库导入到新数据库中,将我的应用程序指向新的数据库,现在工作正常。我们怀疑它是MSSQL 2008 r2需要的腐败或缺失的东西。
感谢所有帮助缩小范围。