首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

把有100多个表的数据库的数据清空后,数据文件还是很大,怎么变小

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

把有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


[解决办法]
备份数据库--分离数据库--删除日志文件--附加数据库
[解决办法]
收缩下日志文件

热点排行