我正在寻找关于如何调试和跟踪SQL Server2000数据库中的死锁问题的建议。我已经向我推荐使用跟踪标志1024和3605,我发现它们给了我以下几点:
1024 -此跟踪标志返回参与死锁和受影响的当前命令的锁的类型。
3605 -此跟踪标志将跟踪输出发送到错误日志。
特定的存储过程、表和索引仍然需要揭开,所以我们的目标是使用这些跟踪标志来做到这一点。然后,我将更好地了解哪些索引需要调优、调优查询的锁定提示以及需要修复的潜在存储过程错误。
有没有其他的建议或者关于追查所有常见问题的幸福的战争故事呢?
发布于 2008-09-09 18:51:04
发布于 2008-09-17 08:46:36
用于分析死锁的非常有用的脚本:http://www.sommarskog.se/sqlutil/aba_lockinfo.html
发布于 2008-09-09 18:48:15
一旦您了解了所涉及的sql语句,代码分析肯定会有所帮助。一些经验法则是检查行被访问的顺序,并检查SQL语句使用的隔离级别。分析器跟踪可以提供很多帮助。
大多数情况下,这是因为读取器试图获得由写入器独占锁定的资源的共享锁。
https://stackoverflow.com/questions/52566
复制相似问题