SQLServer数据库之SQLSERVER压缩数据文件的用处有多大
小标 2018-11-27 来源 : 阅读 1945 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之SQLSERVER压缩数据文件的用处有多大,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之SQLSERVER压缩数据文件的用处有多大,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

SQLSERVER压缩数据文件的用处有多大

前奏:

前些天因为客户那边的问题(其实是盗版问题),只能使用免费的SQLSERVER EXPRESS版本

SQLSERVER2005 的express版本的SQLSERVER的整个数据库的数据文件大小限制为4GB(SQLSERVER2012express版本限制是10G),就是说不管你用多少个文件组,多少个辅助数据文件ndf

所有加起来都不能超过4GB(mdf+ndf)

事务日志文件大小没有限制

因为我们的数据库只是使用了一个主数据文件GPOS.mdf和一个事务日志文件GPOS.ldf

 

本人的解决思路:

本人在想如果是这样,到时候就收缩数据库呗

在网上查了一下资料:由于DBCC SHRINKDATABASE一次运行会同时影响所有的文件(包括数据文件和日志文件),使用者不能

指定每个文件的目标大小,其结果可能不能达到预期的要求。所以建议先做好规划,对每个文件确定预期目标,然后使用DBCC SHRINKFILE

来一个文件一个文件地做比较稳妥

本来很开心的,网上资料都说使用DBCC SHRINKFILE来收缩文件,那这样就不怕拉 (我不怕不怕拉~)

但是,往下看那个资料:

1、首先了解数据文件当前的使用情况

收缩量的大小不可能超过当前文件的空闲空间的大小。如果想要压缩数据库的大小,首先要确认数据文件里的确有相应未被使用的空间。如果空间都在

使用中,那就要确认大量占用空间的对象(表格或索引)。然后通过归档历史数据,先把空间释放出来

 

2、主数据文件(primary file)是不能被清空的。能被完全清空的只有辅助数据文件

 

DBCC SHRINKFILE不会帮你做这个工作

把数据文件里面数据和对象清除完、确认数据文件(组)有足够的空闲空间后,管理员就可以使用DBCC SHRINKFILE来缩小或清空指定文件了。

如果要缩小文件,就填上需要的target_size,如果要清空文件,就选择EMPTYFILE

 

根据上面资料所说,本人的解决思路是:

1、确认大量占用空间的对象(表格或索引)。然后通过归档历史数据,先把空间释放出来再压缩数据文件

2、重建索引,把一些数据页面重排一次,原先的页面被释放,所占用的分区也被释放,再去DBCC SHRINKFILE

本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程