怎样自动缩小数据库?

我的数据库文件太大,才三万条记录,就10G了,估计是删除了,OS未接管释放的空间,怎样自动缩小它呢?

DBCC shrinkdatabase() 到底怎样?会不会把数据库搞歇掉?
---------------------------------------------------------------

USE DatabaseName
backup log DatabaseName with no_log
--
USE DatabaseName
select fileid,filename from sysfiles
--
USE DatabaseName
DBCC SHRINKFILE (2,100) -- 把fileid=2 的文件收缩到 100 MB
正确使用应该不会的。
---------------------------------------------------------------

我个人认为有二种情况
1.日志文件日益增长(如果你的数据库恢复模式是完全或大批量)
2.数据删除后,OS未接管释放的空间(由于你没有在数据库选项中选择自动收缩)
对于方法一:
你可以首先进行完全备份,然后日志备份,最后使用DBCC SHRINKDATABASE
对于方法二:
直接使用DBCC SHRINKDATABASE(可以建立一个JOB,定期操作)即可

Published At
Categories with 数据库类
comments powered by Disqus