我的数据哭删除一些大表后,磁盘空间没变化,请问具体怎么做?
我的数据库是sql server的现在数据库文件有500多g了,点所有任务“收缩数据库”后可用空间为0
但是我用语句“DBCC SHRINKDATABASE([TH-CDR],TRUNCATEONLY )”收缩后,磁盘出现4G 多的可用空间,但我删除了很多大表,为什么只释放这么少的空间啊?????
删除数据库中的一个表后,为什么磁盘空间没有减少?
答案:4 悬赏:0 手机版
解决时间 2021-01-02 16:44
- 提问者网友:遁入空寂
- 2021-01-01 15:57
最佳答案
- 五星知识达人网友:风格不统一
- 2021-01-01 16:24
你的是什么数据库,如果是SQL SERVER 2000的话,删除了表,空间是不会自动收缩的,你可以点在删除表了的数据库上点右键,点所有任务“收缩数据库”,你看一下,中间有可用空间;
因为SQL SERVER 2000占用磁盘空间,只要增大了,是不会自动把空间释放给到操作系统的,这些多作的空间可能会被SQL 再次利用,但如果你想要收回用作别的,那就要手工收缩;
收缩数据库是一个费时的过程,但是如果你的数据量不大就无所谓了,如果对于一个300G的数据库,那就要几天的时间才能完成一次收缩的了
你点单个文件单个文件的收缩,你就可以看到有很多的可用空间了,不过对于500G的东西,收缩是很慢的。并且在收缩的过程中很有讲究的,比如你要是采用压缩的方式,还可以在收缩的时候操作数据库,如果你采用截断的方式,很可能在你收缩的时候由于插入数据而使收缩异常,意思就是说不成功;总之,SQL SERVER 2000对于大数据量的数据库处理、维护等是一个头痛的过程。
因为SQL SERVER 2000占用磁盘空间,只要增大了,是不会自动把空间释放给到操作系统的,这些多作的空间可能会被SQL 再次利用,但如果你想要收回用作别的,那就要手工收缩;
收缩数据库是一个费时的过程,但是如果你的数据量不大就无所谓了,如果对于一个300G的数据库,那就要几天的时间才能完成一次收缩的了
你点单个文件单个文件的收缩,你就可以看到有很多的可用空间了,不过对于500G的东西,收缩是很慢的。并且在收缩的过程中很有讲究的,比如你要是采用压缩的方式,还可以在收缩的时候操作数据库,如果你采用截断的方式,很可能在你收缩的时候由于插入数据而使收缩异常,意思就是说不成功;总之,SQL SERVER 2000对于大数据量的数据库处理、维护等是一个头痛的过程。
全部回答
- 1楼网友:往事隔山水
- 2021-01-01 18:19
同意楼上的
- 2楼网友:酒者煙囻
- 2021-01-01 17:44
你commit保存一下就有变化了,因为他是一个事务,一个整体,你只是删除,事务还没有完结
- 3楼网友:过活
- 2021-01-01 16:33
你好!
因为在数据库创建的时候就有个固定的大小,一般都是几百KB的大小.在里面添加或删除表的话,一般数据库的大小是没有什么变化的,因为表占用的空间很小很小,所以没有变化很正常.
如果对你有帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯