大神救命,遇到数据库一直在执行怎么办?
情况是这样的,我的数据库里有一个表,里面有好几个亿的数据,昨晚我执行了一条更新语句,想把其中的一个时间字段给update一下,昨晚11点执行的语句,到今天上午10点还没有执行完,硬盘上却已经产生了400多G的日志文件,眼看硬盘空间已经快满了,我就把执行语句给取消了,可是点了取消按钮以后,数据库却一直显示"正在取消",等了几个小时了也还在取消。而且这时候我查这个表的一条记录都查不了。我现在又不敢强行把数据库给关了,怕数据库文件会损坏,但是一直这样等下去也不是办法,请问我该怎么办啊??请问有人有遇到过我这样的情况吗,请大神教我啊!!这个数据库很重要,不能有任何闪失啊!
------解决方案--------------------取消执行之后会对已做的修改做回滚,此时应该日志文件不会增加,需要的只是时间吧。
------解决方案--------------------这么多数据居然一下子全部更新,的确是大问题,停止数据库应该没有问题,它会等到更新结束。
------解决方案--------------------保守的做法还是耐心等等吧,只要磁盘空间足够,一般是可以回滚回来的.
对于大表的全更新操作,一般采用分批次更新的方法,如一次更新5000笔记录.
------解决方案--------------------大表的全更新操作,先將數據庫更改為簡單模式,分批更新.
------解决方案--------------------
路过学习