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

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);

各位达人帮忙看看,究竟是什么原因引起的,谢谢。
...全文
49 点赞 收藏 3
写回复
3 条回复
wpjiyan 2009年09月18日
回家好好练练
回复 点赞
Lovely_baby 2009年09月18日
检查你的存储过程吧
不行就设断点试试 这种问题指不定出现在什么地方
回复 点赞
cisso 2009年09月18日
找达人您就来错地方了,找学生有的是。我发过的贴,没一个是解决了的。。。还全100分
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告