数据库版本是SQL2005.
数据库增长迅猛.1年不到就35G了.今天查了下每个表占用空间.如下图:

这些保留空间居然达到8G.甚至12G...这简直是吃硬盘霸王..
请问是否是数据库的设置不对?或者需要其他什么手段?造成这种情况的原因是什么?
------解决思路----------------------
有可能是表的列数据类型定义不合理或者碎片问题,可以考虑先重建一下聚集索引。还有看看如char/nchar这类列是否很多
------解决思路----------------------
那你对比一下其他地方的程序的数据库,看看有没有一些JOB、数据库配置和这里的不同
------解决思路----------------------
是不是有大批量删除数据的动作?
------解决思路----------------------
重建表应该只能清除碎片,而不能够释放空闲空间。
应该是你的表有大量插入,然后又删除了,是的表的大量空间都释放了,变成了 未用空间。
如果真需要释放这些未用空间,需要 新建一个表,然后把数据插入到新表,然后 修改新表的名称 为原表名称。
但是我觉得 未用空间那么大,也不是太大的问题,这样可以加快插入的速度,而不是在 表空间不够时,向系统申请 空间,这样速度肯定慢了。
------解决思路----------------------
之前肯定存过这么多数据, 后来又删除了。
你检查一下,是不是经常建立一些临时表。
------解决思路----------------------
虽然没有直接的证据说明,但是不排除,因为GUI操作有些操作的方式是不一样的,比如修改一列的属性,GUI是先创建一个“修改后”的表,然后把数据导过去新表,然后删除原表再重命名。如果用T-SQL,直接修改元数据即可。