扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 limeinan 来源:天新网 2008年3月28日
关键字: Mssql SQL SQL Server 数据库
在死锁中,由于多种线程在相互控制或其它线程控制的一套资源中等待,所以无法继续。死锁是循环相关的,最好通过标识相关链和有关资源中的参与者,然后为各种其它线程选择资源上中断死锁的线程来加以解决。
当死锁发生时,用户收到如下错误。
|
错误标识出事务在其上被锁定的资源。该资源可以是锁、并行(或通讯缓冲区)、等待线程或它们之间的组合。
要解决死锁,就必须终止循环中的一个参与者。选取死锁牺牲品时,Microsoft® SQL Server™ 2000 会查看所有的参与线程以及每个线程做了多少工作。通常,SQL Server 会选择工作量最小的参与线程作为死锁牺牲品。
使用 SQL Server 2000,可以确定参与死锁的资源,还可以用 SQL 事件探查器或跟踪标记 1204 解决锁的疑难问题。SQL 事件探查器是在 SQL Server 企业管理器中提供的一种图形工具。SQL 事件探查器提供基本的死锁检测信息。
以下的疑难解答集中在跟踪标记 1204 的使用上,它提供了允许对死锁状态进行详细分析的报告。
使用跟踪标记 1204
处于死锁状态时,跟踪标记 1204 在等待的线程、存在等待线程的资源和控制这些资源的线程间画出相关循环。
跟踪标记 1204 报告中的术语
尽管根据所涉及的资源,跟踪标记 1204 会返回不同信息,但是报告通常会包含如下术语:
节点:x
在死锁的链中表示项目号 (x)。
列表:锁的所有者可能是如下列表中的一部分:授权、转换和等待。
授权列表:列举资源的当前所有者。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者