执行update的时候事务(进程 ID 87)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务

qq_29862715 2016-12-24 12:17:17
using (SqlConnection conn = new SqlConnection(Connect_str))
{

conn.Open();
SqlCommand command = conn.CreateCommand();
SqlTransaction tx;
tx = conn.BeginTransaction("SampleTransaction");//启动一个本地事务管理
command.Connection = conn;//指定要执行数据操作的数据源
command.Transaction = tx;//指定执行数据命令登记的事务对象
command.CommandText = cmd;
command.ExecuteNonQuery();
tx.Commit();
Suc = true;

}

执行sql语句,先是insert语句,然后把数据上传到服务器,如果上传服务器失败的话就执行update把一个这条语句的一个状态变成13,但是现在update的时候报这个错误
引用
update T_RELATION_QRCODE set QRCode_Status='13' where QRCode='9249699333065219'System.Data.SqlClient.SqlException (0x80131904): 事务(进程 ID 87)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
。我在自己电脑上模拟运行并不会报错。
...全文
820 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29862715 2016-12-24
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
再试一次, 看看是偶发性的,还是一直存在;
是一直存在的,但是也会有状态更新成功的。那个update也是用事务执行的

                            SqlCommand com1 = new SqlCommand(cmd2, AllVariable.lo_conn);
                            com1.ExecuteNonQuery();
直接这样执行,不用事务会不会好了?
卖水果的net 2016-12-24
  • 打赏
  • 举报
回复
再试一次, 看看是偶发性的,还是一直存在;
qq_29862715 2016-12-24
  • 打赏
  • 举报
回复
引用 7 楼 wmxcn2000 的回复:
[quote=引用 6 楼 qq_29862715 的回复:] 有多个线程都会执行update,但是同一条数据只有insert 完之后才会update。
每个线程执行的语句都一样吗? [/quote]线程有insert和update的语句,update的语句是一样的
卖水果的net 2016-12-24
  • 打赏
  • 举报
回复
引用 6 楼 qq_29862715 的回复:
有多个线程都会执行update,但是同一条数据只有insert 完之后才会update。
每个线程执行的语句都一样吗?
qq_29862715 2016-12-24
  • 打赏
  • 举报
回复
引用 5 楼 wmxcn2000 的回复:
引用 4 楼 qq_29862715 的回复:
[quote=引用 3 楼 wmxcn2000 的回复:] T_RELATION_QRCODE 表上有触发器吗?
没有触发器,好像执行太快了就会发生这样的情况。
你只执行了一条语句,不会触发产生死锁规则; cmd 这个字符串,确实只有一个 update 吗?[/quote]有多个线程都会执行update,但是同一条数据只有insert 完之后才会update。
卖水果的net 2016-12-24
  • 打赏
  • 举报
回复
引用 4 楼 qq_29862715 的回复:
引用 3 楼 wmxcn2000 的回复:
T_RELATION_QRCODE 表上有触发器吗?
没有触发器,好像执行太快了就会发生这样的情况。
你只执行了一条语句,不会触发产生死锁规则; cmd 这个字符串,确实只有一个 update 吗?
qq_29862715 2016-12-24
  • 打赏
  • 举报
回复
引用 3 楼 wmxcn2000 的回复:
T_RELATION_QRCODE 表上有触发器吗?
没有触发器,好像执行太快了就会发生这样的情况。
卖水果的net 2016-12-24
  • 打赏
  • 举报
回复
T_RELATION_QRCODE 表上有触发器吗?

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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