SQL 2005死锁

时间:2013-09-27 14:21:09

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

以下文章很少,它建议如何检测,解决&避免死锁。

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