我正在寻找有关如何调试和解决 SQL Server 2000 数据库中的死锁问题的建议。有人建议我使用跟踪标志 1024 和 3605,我发现它们可以提供以下信息:
1024 - 此跟踪标志返回参与死锁的锁的类型以及受影响的当前命令。
3605 - 此跟踪标志将跟踪输出发送到错误日志。
仍然需要发现特定的存储过程、表和索引,因此目标是使用这些跟踪标志来执行此操作。然后从那里我将更好地了解哪些索引需要调整、调整查询的锁定提示以及需要修复的潜在存储过程错误。
对于将这一切归咎于共同问题,还有其他建议或幸福结局的战争故事吗?
一旦了解了所涉及的sql语句,代码分析肯定会有所帮助。一些经验规则包括检查访问行的顺序以及检查用于 SQL 语句的隔离级别。分析器跟踪可以提供很大帮助。
大多数时候,这是因为读取器试图获取由写入器独占锁定的资源的共享锁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)