如何强制终止一个sybase 的事务?!!!!!!!!!!!!!!!!!

我用insert table1 select from table2 a, table3 b where...
提交了一条sql,后来发现select 的语句有毛病,交集无穷大,所以这个事务永远运行不完。使用kill命令也无法杀掉!!!!
如何强制结束????
---------------------------------------------------------------

kill也不行?那就重启吧
---------------------------------------------------------------

同意
---------------------------------------------------------------

将Sybase的服务重新启动
---------------------------------------------------------------

没有什么好的办法了
---------------------------------------------------------------

要是Kill不掉,只能重起。

我也经常这样做
---------------------------------------------------------------

既然Kill了就行了,因为你的事务很大,可能rollback要较长的时间的;
我的"经验"是:如果发现的早,kill 了就ok!如果sybase server已经做
了很长时间,那就比较麻烦了!遇上这种情况我一般是
1 spaceused table_name 看一下该表的大小
2 观察LOG空间;sp_helpdb your_dbname;如果LOG IS FULL那就玩完了~~~~
特别是在一个生产系统!!!
3 如果你即时shutdown with nowait 的话;
recovery 过程会让你无法忍受的!当然你也可以中断它
但是100%100 table1会坏掉!
---------------------------------------------------------------

对!如果Kill不掉,可能是你个系统日志满了,快去查一下log,如果满了,那就惨了...
Sybase(指旧版本,新版本是否这样我就不知道了)有个很不好的地方,就是log满了就什么都做不了:(因为做什么都要先写到log里面再实现...
我以前尝试insert 无数条记录入库,结果就导致系统坏了,强行重起(忘记如何强行了:),最后重启还要失败,大概是说日志有什么问题...I faint...

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus