造成mdf过大的原因.doc_第1页
造成mdf过大的原因.doc_第2页
造成mdf过大的原因.doc_第3页
造成mdf过大的原因.doc_第4页
造成mdf过大的原因.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一般造成mdf文件过大的原因是:1.索引碎片过多,2.频繁的数据库操作,如临时表/存储过程等的占用大量的空间,而没有及时释放.3.异常状况下占用的数据库空间没有释放掉.1:整理索引碎片你可能已经创建好了索引,并且所有索引都在工作,但性能却仍然不好,那很可能是产生了索引碎片,你需要进行索引碎片整理。什么是索引碎片?由于表上有过度地插入、修改和删除操作,索引页被分成多块就形成了索引碎片,如果索引碎片严重,那扫描索引的时间就会变长,甚至导致索引不可用,因此数据检索操作就慢下来了。有两种类型的索引碎片:内部碎片和外部碎片。内部碎片:为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。外部碎片:为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。如何知道是否发生了索引碎片?执行下面的SQL语句就知道了(下面的语句可以在SQL Server 2005及后续版本中运行,用你的数据库名替换掉这里的AdventureWorks):SELECT object_name(dt.object_id) Tablename,IndexName,dt.avg_fragmentation_in_percent ASExternalFragmentation,dt.avg_page_space_used_in_percent ASInternalFragmentationFROM(SELECT object_id,index_id,avg_fragmentation_in_percent,avg_page_space_used_in_percentFROM sys.dm_db_index_physical_stats (db_id(AdventureWorks),null,null,null,DETAILED)WHERE index_id 0) AS dt INNER JOIN sys.indexes si ON si.object_id=dt.object_idAND si.index_id=dt.index_id AND dt.avg_fragmentation_in_percent10AND dt.avg_page_space_used_in_percent10表示对应的索引发生了外部碎片;2)InternalFragmentation的值=30 -如果碎片大于30,重建索引 begin set str=alter index +rtrim(Iname)+ on dbo.+rtrim(tname)+ rebuild end else -如果碎片小于30,重新组织索引 begin set STR=alter index +rtrim(Iname)+ on dbo.+rtrim(tname)+ reorganize end print str exec (str) -执行 fetch next from r_index into TName,Iname,avgend-结束r_index游标close r_indexdeallocate r_indexfetch next from r_t into tend-结束R_T游标close r_tdeallocate r_tset nocount off查询sql数据库中表占用的空间大小 最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下:1. exec sp_spaceused 表名 -(SQL统计数据,大量事务操作后可能不准)2. exec sp_spaceused 表名, true -(准确的表空间大小,但可能会花些统计时间)3. exec sp_spaceused - (数据库大小查询)4. exec sp_MSforeachtable exec sp_spaceused ? -(所有用户表空间表小,SQL统计数据,大量事务操作后可能不准)5. exec sp_MSforeachtable exec sp_spaceused ?,true -(所有用户表空间表小,大数据库慎用)create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论