运行探查器阻止SQL Server 2000阻止?

时间:2009-04-15 22:53:09

标签: java sql sql-server

我们正在开发一个从Forte应用程序转换而来的大型Java程序。在白天,我们将在服务器中阻止SPID。昨天我们进行了DBA访问,他设置了一个配置文件模板来运行以捕获锁定/阻止操作。当我们运行此配置文件时,阻塞问题就会消失。为什么呢?

此应用程序使用RMI分发,有大约70个用户。我们使用SQL 2000和Windows 2000服务器来保持与一堆旧的VB帮助应用程序的兼容性。

我们已经将阻止跟踪到特定的屏幕和存储过程,但现在我们无法在运行探查器的情况下发生错误。

感谢您的帮助!

西奥

2 个答案:

答案 0 :(得分:1)

Heisenberg老调试器问题。

任何分析器都会做两件事:它添加代码来调用调试器,并存储数据。第一个可以使用优化器,第二个可以改变某些东西的时间,导致竞争条件消失。

此阻止SPID问题似乎在Google上出现了很多;原因似乎是当某个资源在另一个资源需要时被锁定时会发生这种情况,因此可能会发生计时错误。

Microsoft has an article如何处理问题。

答案 1 :(得分:0)

只是随机想法的集合..我已经看到痕迹让服务器停机但从未让事情变得更好。

您使用的是什么跟踪模板? (这些来自SQL Server 2005工具,抱歉)

  • “标准(默认)”一个跟踪高级别呼叫和登录/注销
  • “TSQL_SPs”跟踪语句调用,这些调用会更具侵入性

是二元还是保证吗?跟踪=没有块,跟踪=块,还是不幸的巧合?当你看到DBA时,有人停止点击客户端并开始观看吗?

是否有其他东西被关闭作为跟踪的一部分。也就是说,您使用的是分析器还是脚本跟踪(许多sp_trace_set%语句)?在脚本化的跟踪中,可能会有某些东西切掉其他东西。