none
drop table 后数据库文件大小未变是什么原因? RRS feed

答案

  • You have to shrink db data file to release free space.
    • 已建议为答案 Steven.桦仔 2013年8月23日 13:12
    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月21日 2:40
  • 如果文件的 auto_shrink 选项没有打开, 那么文件的磁盘空间占用是不自动回收的, 可以手工通过 dbcc shrinkfile 回收

    一般来说, 只有删除了很大量的数据时才考虑回收文件占用的磁盘空间

    • 已建议为答案 Steven.桦仔 2013年8月23日 13:12
    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月21日 4:17
  • 因为LZ是drop table ,所以可以shrink db 或者shrink file ,这个file是数据文件

    收缩了之后就可以了,而上面几位说的重建索引,是一张表delete了数据之后,建立一个聚集索引,

    然后重建索引,再shrink db 或者shrink file 来收缩数据库

    跟LZ的情况不一样

    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月23日 13:14

全部回复

  • You have to shrink db data file to release free space.
    • 已建议为答案 Steven.桦仔 2013年8月23日 13:12
    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月21日 2:40
  • 如果文件的 auto_shrink 选项没有打开, 那么文件的磁盘空间占用是不自动回收的, 可以手工通过 dbcc shrinkfile 回收

    一般来说, 只有删除了很大量的数据时才考虑回收文件占用的磁盘空间

    • 已建议为答案 Steven.桦仔 2013年8月23日 13:12
    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月21日 4:17
  • 确实,这张表的数据可能分配在不同的页上,当你删除一张表时,实际上是将这个页面上的上每个槽位的数据清空。虽然清空了数据,但数据库引擎并不费释放空间。除非是收缩数据库或者全局性的重建索引。


    chenl

    2013年8月22日 1:48
  • Reindex will not reduce file size, have to shrink file after rebuild clustered index.
    2013年8月22日 2:31
  • 因为LZ是drop table ,所以可以shrink db 或者shrink file ,这个file是数据文件

    收缩了之后就可以了,而上面几位说的重建索引,是一张表delete了数据之后,建立一个聚集索引,

    然后重建索引,再shrink db 或者shrink file 来收缩数据库

    跟LZ的情况不一样

    • 已标记为答案 Ronins 2013年8月26日 9:20
    2013年8月23日 13:14
  • 非常谢谢。
    2013年8月26日 9:19