sql server死锁
我想把所有用户提交的删除数据先保存在内存里,等30分钟以后再一起执行存储操作,现在的问题是一起执行的时候总是产生死锁,有办法处理吗。...
我想把所有用户提交的删除数据先保存在内存里,等30分钟以后再一起执行存储操作,现在的问题是一起执行的时候总是产生死锁,有办法处理吗。
展开
4个回答
展开全部
以前发生的问题中,绝大多数原因在于程序事务处理的顺序有问题。建议好好检查,是否对同一数据处理未提交又再次要求操作。有些操作一定要求在一个事务中处理,但又比较复杂,这种情况建议从资料库中获取数据后,在容器中暂存数据并多次维护后,再将最终结果返回给资料库,最后提交。这样可本质解决程序锁表问题。如果是人工下SQL出现锁表,建议在SQL中检查是否有类似多次未提交的操作,一般可用一个中间表做到容器或者workspace的作用,从而得到解决。
祝愉快!
刚才没看仔细,如果你的意思是多个不同会话提交后的暂存,没有较好的建议了。不过不管哪种,死锁应该是可以避免的,如果发生死锁,请检查你的事务逻辑。类似你的情况,看是不是可以开一组暂存table来解决。每30分钟将暂存数据搬移一次。
祝愉快!
刚才没看仔细,如果你的意思是多个不同会话提交后的暂存,没有较好的建议了。不过不管哪种,死锁应该是可以避免的,如果发生死锁,请检查你的事务逻辑。类似你的情况,看是不是可以开一组暂存table来解决。每30分钟将暂存数据搬移一次。
展开全部
没有好的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用作业,创建以下过程:锁定数据库,操作数据库,接触锁定
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这些数据是孤立的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |