标签:影响 附加 ast www 读写 ble exec 空间 article
数据库有1kw数据不在使用了,影响读写速度,于是要删除掉
使用delete语句
意外发生,持续了半个小时后,依然不见结束的迹象
于是强行结束(停止了服务)
再打开服务后,数据库显示 【正在恢复】
百度一下我就知道了
于是,停下服务,剪切了数据到别的文件夹
恢复服务
删除数据库
启动服务
附加数据库
1个小时候,附件完成(刚好中午吃饭去了)
无知的我再次使用delete语句删除
两个小时候,实在无法忍受,停止删除
数据库显示 正在恢复
数据库文件增大,mdf达到31g,log问价达到109g
再次剪切文件到别的文件夹,启动服务,删除数据库,启动服务,附加数据库
1h后,sql 附加数据库窗口崩溃
本人崩溃
再次停止服务
剪切数据库文件,启动服务,删除数据库,停止服务,附加mdf,不要log文件,报错无法附加
百度
停止服务,剪切数据库文件,恢复服务,创建同名数据库,停止服务,删除同名数据库mdf文件,将原有数据库mdf覆盖同名数据mdf文件
打开服务,看到数据,为挂起状态
百度
执行如下代码
USE master GO ALTER DATABASE test SET SINGLE_USER GO ALTER DATABASE test SET EMERGENCY GO DBCC CHECKDB(test,REPAIR_ALLOW_DATA_LOSS) go ALTER DATABASE test SET ONLINE GO ALTER DATABASE test SET MULTI_USER GO
来自:http://blog.csdn.net/zxr85/article/details/51943011
半个小时后依然在执行状态
本人崩溃
停止执行,数据库此时已经 成为 单个用户模式
崩溃,百度
执行如下代码
USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL=‘‘ SELECT @SQL=@SQL+‘; KILL ‘+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID(‘数据库名‘); EXEC(@SQL); ALTER DATABASE 数据库名 SET MULTI_USER;
代码来自:http://www.cnblogs.com/amadeuslee/p/6608076.html
数据库单人模式解除
刷新数据,奇迹发生了
数据库表可以访问了,由于只有一个表,实际要保留的数据只有8w多,于是使用
select into 语句,将数据保存至临时表,由于磁盘空间不足
收缩数据库
执行select into语句
执行 truncate table ,数据库文件大小未变化
收缩数据库
执行insert into select
一切搞定
本次一系列操作都不是生产环境,是本地服务器上的数据
本文中一系列操作仅供参考,文中奇迹发生的那一段,我同样很蒙蔽,仅供参考
标签:影响 附加 ast www 读写 ble exec 空间 article
原文地址:http://www.cnblogs.com/netqq/p/7755012.html