收缩数据库 DBCC SHRINKFILE

/* from: http://www.cnblogs.com/blackcore/archive/2010/12/27/1917911.html */html

 

  数据库中的每一个文件均可以经过删除未使用的页的方法来减少。尽管数据库引擎会有效地从新使用空间,但某个文件屡次出现无需原来大小的状况后,收缩文件就变得颇有必要了。数据和事务日志文件均可以减少(收缩)。能够成组或单独地手动收缩数据库文件,也能够设置数据库,使其按照指定的间隔自动收缩。数据库

  文件始终从末尾开始收缩。例如,若是有个 5 GB 的文件,而且在dbcc shrinkfile 语句中将 target_size 指定为 4 GB,则数据库引擎将从文件的最后一个 1 GB 开始释放尽量多的空间。若是文件中被释放的部分包含使用过的页,则数据库引擎先将这些页从新放置到文件的保留部分。只能将数据库收缩到没有剩余的可用空间为止。例如,若是某个 5 GB 的数据库有 4 GB 的数据,而且在dbcc shrinkfile语句中将 target_size 指定为 3 GB,则只能释放 1 GB。日志

 

  操做命令:htm

  如今我一个库ASFCORE的日志文件已经达到30G了,数据文件为1G,若是要收缩日志文件,则执行以下命令便可!blog

  查看数据库的recovery_model_desc类型     SELECT NAME, recovery_model_desc FROM sys.databases事务

  若是是FULL类型,修改成SIMPLE类型       ALTER DATABASE ASFCORE SET Recovery simpleget

  收缩日志文件大小(单位是M)     DBCC SHRINKFILE (N'ASFCORE_log' , 10)file

  检查日志文件名称     USE ASFCORE     SELECT NAME, size FROM sys.database_filesmodel

  恢复成FULL类型     ALTER DATABASE ASFCORE SET Recovery FULL方法

相关文章
相关标签/搜索