在死锁中,由于多种线程在相互控制或其它线程控制的一套资源中等待,所以无法继续。死锁是循环相关的,最好通过标识相关链和有关资源中的参与者,然后为各种其它线程选择资源上中断死锁的线程来加以解决。当死锁发生时,用户收到如下错误。Transaction (Process ID xxx) was deadlocked on (xxx) resources with another process and has been chosen as the deadlock victim. Rerun the transaction.错误标识出事务在其上被锁定的资源。该资源可以是锁、并行(或通讯缓冲区)、等待线程或它们之间的组合。要解决死锁,就必须终止循环中的一个参与者。选取死锁牺牲品时,Microsoft® SQL Server™ 2000 会查看所有的参与线程以及每个线程做了多少工作。通常,SQL Server 会选择工作量最小的参与线程作为死锁牺牲品。使用 SQL Server 2000,可以确定参与死锁的资源,还可以用 SQL 事件探查器或跟踪标记 1204 解决锁的疑难问题。SQL 事件探查器是在 SQL Server 企业管理器中提供的一种图形工具。SQL 事件探查器提供基本的死锁检测信息