【问题标题】:SQL 2005 DeadlocksSQL 2005 死锁
【发布时间】:2013-09-27 14:21:09
【问题描述】:

在我工作的一个 asp.net 应用程序中,我使用 try 编写了数据访问层 - 在每次调用数据库时捕获并在流行语中记录发生的任何错误。我还编写了大部分存储过程代码,所有的选择语句都使用了 nolock 提示。其中一些 select 语句出现大量但并不总是出现死锁错误,例如以下“事务(进程 ID 86)在锁资源上死锁与另一个进程并已被选为死锁牺牲品。重新运行事务。”我需要知道一个进程来发现错误消息所指的 other process 是什么。任何帮助表示赞赏 - 谢谢。

【问题讨论】:

    标签: sql-server sql-server-2005 deadlock


    【解决方案1】:

    您需要让您的 DBA 开启 DBCC TRACESTATUS (1222, -1)。这将在 sql server 错误日志中为您提供信息。请看下面的链接。

    http://www.mssqltips.com/sqlservertip/2130/finding-sql-server-deadlocks-using-trace-flag-1222/

    【讨论】:

      【解决方案2】:

      我强烈建议阅读有关 SqlServer-Online 文档的死锁文章。您可以检测 SqlServer 本身的死锁,如果您有 DBA,请使用它们。

      下面的文章很少,它推荐了如何检测、解决和避免死锁。

      http://technet.microsoft.com/en-us/library/ms177433(v=sql.105).aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-17
        • 1970-01-01
        • 1970-01-01
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多