数据库备份文件突然增大

1. 因为项目比较小,数据库计划里的每天备份都是80M左右,突然看到猛增到500M,然后每天激增,现在都到5G了,恐怖。。。。

 

 趁大家没有发现之前赶快解决。

2. 查看数据库大小,单位是M

select name, convert(float,size) * (8192.0/1024.0)/1024. from [xxxdbname].dbo.sysfiles

 

 为啥这么大???

3. 查看是什么表占这么大空间,

统计每个表的使用空间命令:

exec sp_MSforeachtable "exec sp_spaceused '?'"

 

 

找到问题了,是记录api log的表数据变大了,这个是记录项目里所有api的日志的,36502条数据怎么这么大体积,估计是因为表里的请求内容和返回内容数据太多。

因为是log数据,果断delete 表数据。

然后再查看每个表的空间,果然变小了。

再备份成bak看看大小,90M,OK。

 4. 虽然表和备份文件变小了,但是数据库空间还是那么大,

使用收缩,再来查看下大小。

收缩后空间也确实变小了,但是数据库的文件(mdf)还是很大,没有办法,估计是前面的数据一直在增加,里面的碎片太多。

最后在网上找到办法(慎重!没有办法的办法):

在夜深人静的时候,备份数据库,然后删除数据库,重建相同的数据库,导入表结构和表数据。

posted on 2020-10-23 10:41  bkin的笔记  阅读(978)  评论(0编辑  收藏  举报