如何收缩sqlserver数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何收缩sqlserver数据库相关的知识,希望对你有一定的参考价值。

请看清除,我问的不是收缩日志,是收缩数据库文件也就是mdf文件。我现在有一个数据库11G,我删除了180多万条记录,但是数据库大小不变,仍然是11G。可是可用空间已经变为了6G,也就是说现在11G的空间里有6G是空余的,请问哪位大虾能给个解决办法。注:使用所有任务-收缩数据库不管用。

日志有用吗?没用的话把日志删除会节省很多空间。
可以使用查询分析器执行SQL语句,请根据你的要求使用。
1.清空日志
DUMP TRANSACTION [yourdbname] WITH NO_LOG;
2.截断数据库日志
BACKUP LOG [yourdbname]WITH NO_LOG;
3.收缩数据库
DBCC SHRINKDATABASE([yourdbname]);
参考技术A 留下蔻蔻,远程协助

sql server 收缩数据库 需要多长时间

参考技术A 根据数据库的大小,如果数据库很小,那么收缩时间超快,否则的话,收缩超慢,也可能失败! 参考技术B 1、用收缩文件的方式最好,如果收缩日志文件,先做一次日志备份,最好的方法是先做完备再做日志。
2、如果收缩数据文件,建议先100M每次地收缩,过3、5次之后,再加到500M一次,再过3、5次再升到1G一次,后面就不要再加了,收缩很费资源,不要一次行收缩和在繁忙时收缩。没有官方文档支持,但是按照个人经历,好像sqlserver有一个适应期,要先从小规模收缩几次,才“适应”,然后再慢慢加,另外不要收缩到很小,因为一旦有新数据或者数据改动,又会涨起来,到时候压力更大。
参考技术C 这个有很多因素,比如收缩的时候你的数据库是否被访问等等,收缩数据文件是单线程的操作,所以CPU再好也没用,一般收缩的话都少量多次这样操作。。。 参考技术D 1、用收缩文件的方式最好,如果收缩日志文件,先做一次日志备份,最好的方法是先做完备再做日志。
2、如果收缩数据文件,建议先100M每次地收缩,过3、5次之后,再加到500M一次,再过3、5次再升到1G一次,后面就不要再加了,收缩很费资源,不要一次行收缩和在繁忙时收缩。没有官方文档支持,但是按照个人经历,好像sqlserver有一个适应期,要先从小规模收缩几次,才“适应”,然后再慢慢加,另外不要收缩到很小,因为一旦有新数据或者数据改动,又会涨起来,到时候压力更大。
3、文件的增长规模,按照120G程度,建议每次增长500M,不要用百分比了

若你的数据库不能停机也不好搞啊。
收缩数据库都需要将数据库转换成 简单恢复模式。
第5个回答  2018-02-11 和数据量大小有关系

以上是关于如何收缩sqlserver数据库的主要内容,如果未能解决你的问题,请参考以下文章

Sqlserver数据库日志太大如何快速删除

如何清理sql server 2008日志

如何收缩sqlserver数据库

SQL SERVER如何收缩数据库

如何收缩 SQL Server 中的 Tempdb 数据库

SQLServer数据库如何收缩日志空间?