如何结束未回滚的事务?

quna117 2011-08-23 11:16:01
有个存储过程害惨我了,
只有commit,没有rollback,
于是乎大量的数据操作可能导致了
并发什么的吧,结果我的一个表
就算更新不了了,程序崩溃,
我觉得我的分析肯定是对的,因为
我重启了数据库的服务就好了,

我想问下不重启服务怎么能结束这个事务呢,
因为重启服务要好长时间,
用网上的所有查死锁,阻塞等存储过程都不好用,
杀掉所有进程也不好用,
求解
...全文
117 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gw6328 2011-08-23
  • 打赏
  • 举报
回复
友情帮顶
quna117 2011-08-23
  • 打赏
  • 举报
回复
回滚有自动结束的时间吗,忙到了几个小时也没好使,
最终是重启服务好了
王向飞 2011-08-23
  • 打赏
  • 举报
回复
结束不了 等回滚结束吧
quna117 2011-08-23
  • 打赏
  • 举报
回复
楼上说的那些存储过程我都有过,查不到任何死锁或阻塞信息,
一个事务出错未回滚,能看出死锁信息吗?
xqx_8888 2011-08-23
  • 打赏
  • 举报
回复
rollbakc
commit
--小F-- 2011-08-23
  • 打赏
  • 举报
回复
你还是重启服务吧 相对还简单些 记得以后写上 ROLLBACK

或者SET XACT_ABORT_ON
xqx_8888 2011-08-23
  • 打赏
  • 举报
回复
sp_who_lokc
天-笑 2011-08-23
  • 打赏
  • 举报
回复
用 SP_WHO 查询谁死锁,以及 SPID

然后 KILL SPID
天-笑 2011-08-23
  • 打赏
  • 举报
回复
sp_who
kill xxxx
唐诗三百首 2011-08-23
  • 打赏
  • 举报
回复
首先,正常的事务是不需要rollback tran的.
所以先看存储过程的什么导致了事务过程中出错需要rollback.

其次,如果事务过程出错难以避免,要就加上SET XACT_ABORT_ON
即出错时自动回滚事务.

22,210

社区成员

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

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