数据库死锁,研究好几天了,达人们,帮个忙~~

oldjackyone 2009-09-18 02:08:59
很奇怪,我以前用SQL 2000,从来没能死锁的情况发生,SQL2005现在统计在线人数(读/写)时,会死锁一个表。

private void Stat_Onlone(HttpApplication app)
{
string currentSessionID = app.Session.SessionID;
CurrentOnline currentOnline = new CurrentOnline();
bool isExisitSessionID = currentOnline.IsExisit(currentSessionID);//调用存储过程:查询数据库是否有此sessionid

if (isExisitSessionID)
currentOnline.UpdateSessionID(currentSessionID);//调用存储过程:更新此sessionid的最新访问时间为当前时间
else
currentOnline.AddNew(currentSessionID, app.Request.UserHostAddress, DateTime.Now);//调用存储过程:新增此sessionid

currentOnline.Clear();//调用存储过程:清理登陆超时的sessionid信息

int currentOnlineCount = currentOnline.Stat();//调用存储过程:查询数据库,统计在线人数

app.Application["OnLine"] = currentOnlineCount;

}


注:每个存储过程中都是单个语句。

引发死锁的是currentOnline.UpdateSessionID(currentSessionID);或currentOnline.AddNew(currentSessionID, app.Request.UserHostAddress, DateTime.Now);

各位达人帮忙看看,究竟是什么原因引起的,谢谢。
...全文
92 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wpjiyan 2009-09-18
  • 打赏
  • 举报
回复
回家好好练练
Lovely_baby 2009-09-18
  • 打赏
  • 举报
回复
检查你的存储过程吧
不行就设断点试试 这种问题指不定出现在什么地方
cisso 2009-09-18
  • 打赏
  • 举报
回复
找达人您就来错地方了,找学生有的是。我发过的贴,没一个是解决了的。。。还全100分

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧