日期:2014-05-19  浏览次数:20717 次

把有100多个表的数据库的数据清空后,数据文件还是很大,如何变小?
数据库有130个表,300个存储过程。

清空所有测试数据后,发现所有的数据清空完后,数据文件还有67M,日志文件有388M

1)怎么样可以把数据文件变小?
2)日志文件如何删除,

------解决方案--------------------
//////////////////压缩日志及数据库文件大小////////////////////////////

/*--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
--*/

1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
------解决方案--------------------
收缩数据库,再附加。
------解决方案--------------------
如一楼所说,要截断事务日志,清空日志
------解决方案--------------------
收缩数据库
------解决方案--------------------

--截断事务日志
backup log 数据库名 with no_log
go

--收缩数据库
dbcc shrinkdatabase(数据库名)
go


------解决方案--------------------
备份数据库--分离数据库--删除日志文件--附加数据库
------解决方案--------------------
收缩下日志文件