关于数据库空间

Chiff 2003-11-14 03:04:10
我在数据库中执行sp_spaceused命令,结果表明我的数据库:

数据库大小约22G,unallocated space:240M

保留的空间总量约22G,数据3640M,索引1260M,未使用空间16837M

再查其中的所有表的空间也大致如此.

请问:
我如何能将未使用的16837M空间的物理磁盘空间释放?

我已试过了dbcc shrinkfile(filename,0),没用.

谢谢 :)
...全文
44 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chiff 2003-11-19
  • 打赏
  • 举报
回复
不好意思这两天都没能上网。

这个问题基本解决了,将其中的三个占用空间最大的表drop掉,

然后重建表、建索引、插入数据

然后再执行dbcc shrinkfile (注:不是shrinkdatabase) 

即成功地将数据库缩小到原大小的三分之一。

此帖暂不结,请大家讨论一下出现的原因,以弄清楚和便于从根本上解决此问题。

Thanks.
Chiff 2003-11-14
  • 打赏
  • 举报
回复
select * into New_table from Old_table

sp_spaceused(New_table)

--:unused :-32KB

应该属于正常情况!
Chiff 2003-11-14
  • 打赏
  • 举报
回复
let me try...
pengdali 2003-11-14
  • 打赏
  • 举报
回复
truncate table 不行

drop table
zjcxc 2003-11-14
  • 打赏
  • 举报
回复
能不能将这个表的数据保存到临时表.

然后truncate table 这个表.

或删除重建?
Chiff 2003-11-14
  • 打赏
  • 举报
回复
重建索引后,文件大小发生了极小的变化,但仍未解决问题.

dbcc indexdefrag 的结果集如下:


6636 0 0
pengdali 2003-11-14
  • 打赏
  • 举报
回复
DBCC INDEXDEFRAG 整理销售明细表聚集索引和辅助索引碎片
Chiff 2003-11-14
  • 打赏
  • 举报
回复
现有空间21215MB,

最小为20973MB

因此单纯的数据收缩估计不行.

我就是搞不懂,为什么每个表都会有那么多的未使用空间.
pengdali 2003-11-14
  • 打赏
  • 举报
回复
DBCC DBREINDEX 重建销售明细表的一个或多个索引
Chiff 2003-11-14
  • 打赏
  • 举报
回复
邹键:
可是,我的表为什么有那么多的unuesd空间!同样的数据库,插入同样多的条数,空间就比现在这个小,只占现这个的20%-25%左右.

Chiff 2003-11-14
  • 打赏
  • 举报
回复
销售明细表

rows reserved data index_size unuesd
1625654 KB 2994328 KB 400808 KB 65240 KB 2528280 KB

pengdali 2003-11-14
  • 打赏
  • 举报
回复
exec sp_MSForEachTable 'exec sp_spaceused ''?'''

看你那个表问题最严重?
zjcxc 2003-11-14
  • 打赏
  • 举报
回复
那个最小M就是你的文件可以最小减少到的M数.没得再小的啦.
lvltt 2003-11-14
  • 打赏
  • 举报
回复
学习。。。


欢迎各位闲暇之时多到水源灌水 谢谢。。。
zjcxc 2003-11-14
  • 打赏
  • 举报
回复
企业管理器--右键你的数据库--所有任务--收缩数据库--"收缩文件"中点"文件"按纽.

在"收缩方式"在,看"收缩文件至xxM"中的,最小可以收缩到多少M?
Chiff 2003-11-14
  • 打赏
  • 举报
回复
waiting...
Chiff 2003-11-14
  • 打赏
  • 举报
回复
大力:

以上语句不是不行,问题是执行都成功了,但是数据库占用空间依旧!

问题的根本在于:

我在管理系统点收缩数据库时,空闲的空间并不大,我讲的所谓空闲空间,是用sp_spaceused命令看到的unused的大小,而我的数据量确实也没达到22G,已使用的3.6G数据才是正常的数据大小.
Chiff 2003-11-14
  • 打赏
  • 举报
回复
还是不行,数据依旧是那么大小!

先谢过上三位朋友,请大家再想想办法!
pengdali 2003-11-14
  • 打赏
  • 举报
回复
我这里用

dbcc shrinkfile('filename',0)

没有问题
Chiff 2003-11-14
  • 打赏
  • 举报
回复
dbcc shrinkdatabase 的结果与dbcc shrinkfiles的结果大同小异.

正在偿试 welyngj(平平淡淡) 的方法...
加载更多回复(5)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧