博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库 收缩
阅读量:7102 次
发布时间:2019-06-28

本文共 1098 字,大约阅读时间需要 3 分钟。

引用:

数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。文件始终从末尾开始收缩。例如,如果有个 5 GB 的文件,并且在 DBCC SHRINKFILE 语句中将 target_size 指定为 4 GB,则数据库引擎将从文件的最后一个 1 GB 开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则数据库引擎先将这些页重新放置到文件的保留部分。只能将数据库收缩到没有剩余的可用空间为止。例如,如果某个 5 GB 的数据库有 4 GB 的数据,并且在 DBCC SHRINKFILE 语句中将 target_size 指定为 3 GB,则只能释放 1 GB。 自动数据库收缩 将 AUTO_SHRINK 数据库选项设置为 ON 后,数据库引擎将自动收缩具有可用空间的数据库。此选项可以使用 ALTER DATABASE 语句来进行设置。默认情况下,此选项设置为 OFF。数据库引擎会定期检查每个数据库的空间使用情况。如果某个数据库的 AUTO_SHRINK 选项设置为 ON,则数据库引擎将减少数据库中文件的大小。该活动在后台进行,并且不影响数据库内的用户活动。将数据库设置为自动收缩 ALTER DATABASE (Transact-SQL)  手动数据库收缩 您可以使用 DBCC SHRINKDATABASE 语句或 DBCC SHRINKFILE 语句来手动收缩数据库或数据库中的文件。如果 DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 语句无法回收日志文件中的所有指定空间,则该语句将发出信息性消息,指明必须执行什么操作以便释放更多空间。有关收缩日志文件的详细信息,请参阅收缩事务日志。在该过程中任意时间都可停止 DBCC SHRINKDATABASE 和 DBCC SHRINKFILE 操作,所有已完成工作都将保留。在使用 DBCC SHRINKDATABASE 语句时,您无法将整个数据库收缩得比其初始大小更小。因此,如果数据库创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小只能收缩到 10 MB,即使已经删除数据库的所有数据也是如此。但是,使用 DBCC SHRINKFILE 语句时,可以将各个数据库文件收缩得比其初始大小更小。必须对每个文件分别进行收缩,而不能尝试收缩整个数据库。

转载地址:http://phzhl.baihongyu.com/

你可能感兴趣的文章
lesson6-表
查看>>
来自二维世界的忧愁:如何避免康康的悲剧再次重演?
查看>>
传教士与野人过河问题
查看>>
.NET Framework 3.5 Common Namespaces and Types Poster
查看>>
Winform应用程序实现通用遮罩层
查看>>
python+uwsgi导致redis无法长链接引起性能下降问题记录
查看>>
对linux安全设置中需要注意和掌握的地方
查看>>
HDFS-Architecture剖析
查看>>
百花齐放,繁荣和瓶颈同在,2016年VR AR产业梳理
查看>>
Jira 6.3.6使用openldap进行认证——方法一
查看>>
项目经理成长日记(10)——百万大侠,能否推敲
查看>>
oracle之 SYSAUX表空间维护
查看>>
thinkphp-条件判断-范围判断-in与else
查看>>
搜狗智能联想输入法,背后的运维又是如何智能的?
查看>>
就绪IT平台 走进智能企业——智能化浪潮中的领军者大型系列报道
查看>>
Shader的函数公式以及使用的场景
查看>>
3Python全栈之路系列之D
查看>>
js self = this的解释
查看>>
用jekyll制作高大上的网站(一)——安装与配置
查看>>
linux基础--vim编辑器
查看>>