重生特种兵之女变男:SQL Server 2000数据库收缩

来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 17:12:01

SQL Server 2000数据库收缩

浏览次数:3203次悬赏分:50 | 解决时间:2009-8-31 23:38 | 提问者:gddyyc
公司的数据库所在盘符空间为600G,可用空间为9M(该盘符只装了数据文件以及日志文件),数据文件大小为598G,数据库可用空间为300多G,通过企业管理器我把数据库进行了文件收缩,设置收缩至300G左右,可已经收缩了2天了,数据库还是没有收缩完成。看任务管理器里Server的CPU占用还是有的。想问下大家1、是不是我的数据库现在收缩失败了啊?2、大家有过对大型数据库的收缩经验吗?时间怎么这么久啊?3、为什么我按百分比收缩时总是不成功?和盘符所剩空间有关系么?4、数据库收缩的简单原理是什么啊?和盘符所剩空间有关系么?麻烦大家了。

问题补充:

数据文件598G(可用300多G),日志文件2G(可用1.9G),时间长那是该有多长呢?

 

最佳答案
1、是不是我的数据库现在收缩失败了啊?答:你的数据库收缩还没有完全失败,但已经可以视为失败,因为要做完收缩遥遥无期,需要的时间将十分漫长,具体原因见第三问。2、大家有过对大型数据库的收缩经验吗?时间怎么这么久啊?答:数据库的收缩时间与数据库大小是成正比的,数据库越大,收缩时间越长。所以建议要定时进行数据库收缩,每年一次或几个月一次,依数据库增长速度而定。3、为什么我按百分比收缩时总是不成功?和盘符所剩空间有关系么?答:不论是按百分比收缩还是按空间大小进行收缩,都要求数据库所在磁盘预留一定的空间,最好在15%以上。在数据库进行收缩时,系统将把这部分预留空间作为缓冲区,用来保存和整理数据库中的数据,然后再把整理过的数据写回数据库。像你说的这种情况,数据文件大小为598G,可用空间为9M,基本无法进行有效的数据库收缩。建议你把数据库文件解挂后,复制到750G以上的大容量硬盘中,重新附加数据库后再进行收缩。4、数据库收缩的简单原理是什么啊?和盘符所剩空间有关系么?答:数据库收缩的简单原理有两条,一是清理日志,因为日志记录的是数据库的历史操作,在一段时间后,如果没有保存价值可以清除;二是清理空白空间,这种空间是删除数据表(一般是临时表)后造成的,数据表删除后,数据库空间不会自动缩小,所以数据文件就会越来越大。和盘符所剩空间的关系,第三问已经回答了。