用exec sp_spaceused查询了其中的一些表与前段时间备份的数据库作了比较,比如
exec sp_spaceused 'MZ_GHDJB'分别对两个数据库查询
name rows reserved data index_size unused
MZ_GHDJB 82515 537960 KB 24744 KB 262224 KB 250992 KB
MZ_GHDJB 281079 378928 KB 34624 KB 293808 KB 50496 KB
第一行对应的数据库前段时间把表中的历史数据删除了一部分,就是现在用的,第二行对应的数据库是历史数据删除前的数据库,第一行rows为82515比第二行的少了近20万行,但是reserved的空间却比下面的多了近200M,这是什么原因啊,正常情况下应该第二行reserved的空间应该比第一行的大很多,怎么解决啊,求各位老师指教!
21 个解决方案
#1
mdf文件收缩一下
#2
收缩了,不行的,MDF文件中的实际使用空间在增大,不是单纯的文件增大
#3
不用收缩,反正空间能用
或者说你不必作任何处理,也不必大惊小怪。
删除后,空间归到unused ,以后增加的数据就会占用,一段时间数据库文件不会增长,好过现在收缩了再增长出来
几百M的大小,差十倍也没多少,不用理他
或者说你不必作任何处理,也不必大惊小怪。
删除后,空间归到unused ,以后增加的数据就会占用,一段时间数据库文件不会增长,好过现在收缩了再增长出来
几百M的大小,差十倍也没多少,不用理他
#4
有两个办法:
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
#5
整理下磁盘碎片。
#6
重建一下所有表的索引(聚集索引),再收缩看看!
楼主看看导入到新的库有多大。
楼主看看导入到新的库有多大。
#7
重建了索引,空间减少不多,现在是每天增长200M左右,以前每天增长只有5M,照这个速度几个月磁盘空间就不够了
#8
现在每天的数据增长与之前(每天5M)时候相比,数据增长量相同?
#9
数据增长量基本相同的
#10
也就是最近半个多月才增长这么快的
#11
顶一下 我也是受害者之一 我们的服务器 IBM服务器 至强CPU 硬盘是最新的sc硬盘做的RAD1
操作系统为 WIN2003+SQL2000+sql2000SP4补丁 原来每天10M增长
后来服务器出问题 重做了下操作系统 操作系统仍为WIN2003 +sql2000+sql2000sp4补丁现在每天以200MB的速度增长 现在还没想好怎么处理呢。
操作系统为 WIN2003+SQL2000+sql2000SP4补丁 原来每天10M增长
后来服务器出问题 重做了下操作系统 操作系统仍为WIN2003 +sql2000+sql2000sp4补丁现在每天以200MB的速度增长 现在还没想好怎么处理呢。
#12
也就是最近半个多月才增长这么快的
#13
我现在的情况和你的基本上是一样的,急啊!
#14
不知道说的这200M是指整库,还是指单个表?
#15
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
我试了用这个方法是可以的,但是HIS中的表太多了,这样做工作量太大,很多表都有触发器,还有些事关联的,数据量又大,容易出错的,有没有什么更好的办法啊
2.重建MZ_GHDJB聚集索引。
我试了用这个方法是可以的,但是HIS中的表太多了,这样做工作量太大,很多表都有触发器,还有些事关联的,数据量又大,容易出错的,有没有什么更好的办法啊
#16
更好的办法就是加硬盘,省心了
#17
把所有表的聚集索引都重建下,再收缩。
#18
我们这边也出现这个问题啊,SQL2000,以前好几年都没什么事,最近MDF每三天增大一个G啊,吓人啊,数据量河访问量都跟以前差不多,不至于啊。。。求高手指点。。。
#19
我仔细查了一下不是所有的表都是这样的,把相关的表找出来,聚集索引删掉重建就把空间释放出来了,一切正常了,就是不知道是什么原因导致的!谢谢各位
#20
说明这些表经常用删除操作,而删除时,空间并不能释放掉,所以你虽然删除数据了,但只要你的表还在插入数据,表占用的空间就会不断的增大。
#21
顶
#1
mdf文件收缩一下
#2
收缩了,不行的,MDF文件中的实际使用空间在增大,不是单纯的文件增大
#3
不用收缩,反正空间能用
或者说你不必作任何处理,也不必大惊小怪。
删除后,空间归到unused ,以后增加的数据就会占用,一段时间数据库文件不会增长,好过现在收缩了再增长出来
几百M的大小,差十倍也没多少,不用理他
或者说你不必作任何处理,也不必大惊小怪。
删除后,空间归到unused ,以后增加的数据就会占用,一段时间数据库文件不会增长,好过现在收缩了再增长出来
几百M的大小,差十倍也没多少,不用理他
#4
有两个办法:
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
#5
整理下磁盘碎片。
#6
重建一下所有表的索引(聚集索引),再收缩看看!
楼主看看导入到新的库有多大。
楼主看看导入到新的库有多大。
#7
重建了索引,空间减少不多,现在是每天增长200M左右,以前每天增长只有5M,照这个速度几个月磁盘空间就不够了
#8
现在每天的数据增长与之前(每天5M)时候相比,数据增长量相同?
#9
数据增长量基本相同的
#10
也就是最近半个多月才增长这么快的
#11
顶一下 我也是受害者之一 我们的服务器 IBM服务器 至强CPU 硬盘是最新的sc硬盘做的RAD1
操作系统为 WIN2003+SQL2000+sql2000SP4补丁 原来每天10M增长
后来服务器出问题 重做了下操作系统 操作系统仍为WIN2003 +sql2000+sql2000sp4补丁现在每天以200MB的速度增长 现在还没想好怎么处理呢。
操作系统为 WIN2003+SQL2000+sql2000SP4补丁 原来每天10M增长
后来服务器出问题 重做了下操作系统 操作系统仍为WIN2003 +sql2000+sql2000sp4补丁现在每天以200MB的速度增长 现在还没想好怎么处理呢。
#12
也就是最近半个多月才增长这么快的
#13
我现在的情况和你的基本上是一样的,急啊!
#14
不知道说的这200M是指整库,还是指单个表?
#15
1.新建一个表把表MZ_GHDJB2,然后把把表MZ_GHDJB数据导入到MZ_GHDJB2中,然后删除MZ_GHDJB,将MZ_GHDJB2更名为MZ_GHDJB.
2.重建MZ_GHDJB聚集索引。
我试了用这个方法是可以的,但是HIS中的表太多了,这样做工作量太大,很多表都有触发器,还有些事关联的,数据量又大,容易出错的,有没有什么更好的办法啊
2.重建MZ_GHDJB聚集索引。
我试了用这个方法是可以的,但是HIS中的表太多了,这样做工作量太大,很多表都有触发器,还有些事关联的,数据量又大,容易出错的,有没有什么更好的办法啊
#16
更好的办法就是加硬盘,省心了
#17
把所有表的聚集索引都重建下,再收缩。
#18
我们这边也出现这个问题啊,SQL2000,以前好几年都没什么事,最近MDF每三天增大一个G啊,吓人啊,数据量河访问量都跟以前差不多,不至于啊。。。求高手指点。。。
#19
我仔细查了一下不是所有的表都是这样的,把相关的表找出来,聚集索引删掉重建就把空间释放出来了,一切正常了,就是不知道是什么原因导致的!谢谢各位
#20
说明这些表经常用删除操作,而删除时,空间并不能释放掉,所以你虽然删除数据了,但只要你的表还在插入数据,表占用的空间就会不断的增大。
#21
顶