日期:2014-05-18  浏览次数:20553 次

事务死锁 问题
事务(进程 ID 106)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Exception: 事务(进程 ID 106)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。

源错误: 

只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL: 

1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如: 

  <%@ Page Language="C#" Debug="true" %>

或:

2. 将以下的节添加到应用程序的配置文件中:

<configuration>
  <system.web>
  <compilation debug="true"/>
  </system.web>
</configuration>

请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。

重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。  

堆栈跟踪: 


[Exception: 事务(进程 ID 106)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。]
  Dal.Db.Select_proc_prams(String ProcName, SqlParameter[] prams) in D:\likebuy\likebuy_net\Dal\Db.cs:205
  searchlist.category() +204
  searchlist.Page_Load(Object sender, EventArgs e) +551
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
  System.Web.UI.Control.OnLoad(EventArgs e) +98
  System.Web.UI.Control.LoadRecursive() +71
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4267

 


--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.63; ASP.NET 版本:2.0.50727.42

------解决方案--------------------
这是要干什么?查死锁的情况?

SQL code
--检索死锁进程
select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name 
from sysprocesses 
where spid in
( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0)