在日常维护中,碰到过两次这种情况
一次是有一个维护人员 选择delete 一个超大的日志表中大量数据时造成了死锁;另一次时另一位维护人员在对一个大数据表中的一个字段进行数据类型修改,想将varchar(50) 改成 varchar(200)时造成了死锁。
后来都是因为执行时间太长,点击取消,然后就造成数据库死锁,无法查询;
在重启sql服务,还有重启服务器均无法使数据库正常运行
最后,采用将数据库先分离,再重新附加上去,使得数据库重新恢复正常。
猜测是因为不管数据库服务还是服务器重启时,都会继续未完成的操作,造成持续锁表。所以将服务器先分离,使得之前的任务取消。
大家以后操作大数据表的时候一定要用好方法,不要直接delete,或者在表结构中修改字段类型!!! 切记切记!