删除数据库中的一个表后,为什么磁盘空间没有减少? 15
我的数据哭删除一些大表后,磁盘空间没变化,请问具体怎么做?我的数据库是sqlserver的现在数据库文件有500多g了,点所有任务“收缩数据库”后可用空间为0但是我用语句...
我的数据哭删除一些大表后,磁盘空间没变化,请问具体怎么做?
我的数据库是sql server的现在数据库文件有500多g了,点所有任务“收缩数据库”后可用空间为0
但是我用语句“DBCC SHRINKDATABASE([TH-CDR],TRUNCATEONLY )”收缩后,磁盘出现4G 多的可用空间,但我删除了很多大表,为什么只释放这么少的空间啊????? 展开
我的数据库是sql server的现在数据库文件有500多g了,点所有任务“收缩数据库”后可用空间为0
但是我用语句“DBCC SHRINKDATABASE([TH-CDR],TRUNCATEONLY )”收缩后,磁盘出现4G 多的可用空间,但我删除了很多大表,为什么只释放这么少的空间啊????? 展开
4个回答
展开全部
你的是什么数据库,如果是SQL SERVER 2000的话,删除了表,空间是不会自动收缩的,你可以点在删除表了的数据库上点右键,点所有任务“收缩数据库”,你看一下,中间有可用空间;
因为SQL SERVER 2000占用磁盘空间,只要增大了,是不会自动把空间释放给到操作系统的,这些多作的空间可能会被SQL 再次利用,但如果你想要收回用作别的,那就要手工收缩;
收缩数据库是一个费时的过程,但是如果你的数据量不大就无所谓了,如果对于一个300G的数据库,那就要几天的时间才能完成一次收缩的了
你点单个文件单个文件的收缩,你就可以看到有很多的可用空间了,不过对于500G的东西,收缩是很慢的。并且在收缩的过程中很有讲究的,比如你要是采用压缩的方式,还可以在收缩的时候操作数据库,如果你采用截断的方式,很可能在你收缩的时候由于插入数据而使收缩异常,意思就是说不成功;总之,SQL SERVER 2000对于大数据量的数据库处理、维护等是一个头痛的过程。
因为SQL SERVER 2000占用磁盘空间,只要增大了,是不会自动把空间释放给到操作系统的,这些多作的空间可能会被SQL 再次利用,但如果你想要收回用作别的,那就要手工收缩;
收缩数据库是一个费时的过程,但是如果你的数据量不大就无所谓了,如果对于一个300G的数据库,那就要几天的时间才能完成一次收缩的了
你点单个文件单个文件的收缩,你就可以看到有很多的可用空间了,不过对于500G的东西,收缩是很慢的。并且在收缩的过程中很有讲究的,比如你要是采用压缩的方式,还可以在收缩的时候操作数据库,如果你采用截断的方式,很可能在你收缩的时候由于插入数据而使收缩异常,意思就是说不成功;总之,SQL SERVER 2000对于大数据量的数据库处理、维护等是一个头痛的过程。
展开全部
因为在数据库创建的时候就有个固定的大小,一般都是几百KB的大小.在里面添加或删除表的话,一般数据库的大小是没有什么变化的,因为表占用的空间很小很小,所以没有变化很正常.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你commit保存一下就有变化了,因为他是一个事务,一个整体,你只是删除,事务还没有完结
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询