- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
收缩数据库文件操作指南
收缩数据库文件操作指南
1.问题概述
一些U9客户在使用过程中会遇到数据库文件过大,尤其是日志文件过大的问题。很多项目数据库配置的是完整恢复模式,因此在日志备份前,所有日志记录都必须保存。而升级脚本往往会成批操作大量的数据,使得日志记录的数量极为庞大。升级完成,其日志文件大小增长到超过200G。
处理这类问题,需要掌握收缩数据库文件的方法。
2.基本概念
2.1.文件分类
数据库文件分为数据文件和日志文件。通常,数据文件的大小不会成为问题。如果有问题,可能性主要有两个:
文件自动增长设置的是按比率增长方式例如10%。由于随时间使用,数据文件会逐渐变大。1G大小的文件10%为100M,如果到了100G的大小,则10%的增长就需要10G空间。新分配的10G空间可能形成浪费。所以,我们一般建议按固定大小方式,例如每次增长500M。
存在大量删除记录,仍然占用磁盘空间SQLServer并不自动收缩删除记录所占用的磁盘空间。但随时间推移,这些磁盘空间会不断被新记录所填充,本质上并不是问题。但在某一时刻,如果做了大量删除操作,你可能觉得需要回收这些空间。
真正造成问题的,一般是日志文件,尤其在完整恢复模式下。考虑收缩数据文件一般不会获得大的好处,并且收缩过程占用的时间非常长,所以一般推荐只收缩日志文件。
2.2恢复模式
如果要收缩日志文件,需要确保数据库的恢复模式为简单恢复模式。
配置方法
打开数据库属性界面,选中“选项”页,然后从恢复模式下拉框中选择“简单”:
之后确定即可。该操作立即生效,无需重启数据库服务。
2.3联机操作
可以联机进行收缩操作。意思是要收缩的数据库不必工作在单用户模式下,其他用户仍可以在数据库收缩时对其进行工作。
3.普通用户-图形界面操作方式
SQLServer管理工具本身自带收缩数据库的功能。我们主要讲解收缩日志文件的方法。
首先选择“任务|收缩|文件”:
该界面给出的信息中可以了解数据文件(或日志文件)的占用大小(对应当前分配的空间),以及空闲可用的空间大小(对应可用空间):
从上图文件可以知道,数据文件的大小约16G,其中有1.6G左右可用空间。这个比率是非常合适的,说明完全没有收缩的必要。
我们将文件类型更改为日志:
收缩操作建议选择第2项,重新组织页可以使收缩更为彻底,并且此处还允许你设置一个精确的目标值。对于实际的U9客户,这个目标值不要太小,建议日志文件不低于1G。
之后按下确定按钮,即可执行收缩操作。
4.专业用户-TSQL操作方式
图形界面中完成的操作都可以通过TSQL来高效完成。
4.1 查看数据库占用情况
p_helpdb u9dbshuanghg
4.2查看日志文件占用情况
dbcc SQLPERF(LOGSPACE)
4.3执行文件收缩
dbcc shrinkfile(blank_log, 1024)
第一个参数是文件名,也可以使用用fileid,在前面sp_helpdb给出的结果中都可以看到。
第二个参数是收缩目标值,单位是M。
使用这个命令的好处在于其灵活性。尤其对于有多个数据文件或多个日志文件的情况,我们可以根据需要收缩任意文件。例如,某种情况下发现TempDB的有一个数据文件大小比其它文件大,这样就不能很好地实现分布冲突的意图,那么可以只对这个较大的数据文件做搜索,并精确指定收缩到同其它文件一样大小。
5.清理数据U9的数据库可能包含一些过期的历史数据,对于客户而言已经没有任何使用价值,例如JobRequest数据。
5.1获取各个数据表的占用情况
首先需要了解各个数据表的占用情况,以便确定我们要清理哪些数据(下图是摩比的数据库情况):
使用如下SQL文件可以得到上面的信息:
-- Script to analyze table space usage using the
-- output from the sp_spaceused stored procedure
-- Works with SQL 7.0, 2000, and 2005
set nocount on
print Show Size, Space Used, Unused Space, Type, and Name of all database files
select
[FileSizeMB] =
convert(numeric(10,2),sum(round(a.size/128.,2))),
[UsedSpaceMB] =
convert(numeric(10,2),sum(round(fileproperty( a.name,SpaceUsed)/128.,2))) ,
[UnusedSpaceMB] =
convert(num
您可能关注的文档
- 2016年全省饲料兽药打假专项治理行动实施方案.doc.doc
- 2016年潘三电厂自行监测方案.doc
- 030201 政治学理论专业培养方案.doc
- 2016年夏季毕业与学位申请操作指南.doc
- 2016年玉溪市事业单位公开招聘工作人员报考指南_81653.doc
- 091216灵通快线两周滚动型个人人民币理财产品说明书ltgd0808.doc
- 09143632_附件3:重庆理工大学“青春杯”足球赛、“重理工杯”学生男子篮球赛logo创意说明填写表.doc
- 20160225_台達為美國內華達州新月沙丘聚光型太陽能發電廠提供追日方案final_ch.doc
- 20150828建设项目环境影响评价文件审批(环评登记表审批).doc
- 8138_狮子山校区北大门干道及七教周边人行道改造方案(上网公示).doc
文档评论(0)