SQL2005删除大量数据压缩后数据库文件未明显变小,怎么回事?
数据库中有一张表数据特别多,特意清理了一下,删除数据前,该表占用1767.383MB,数据297万条记录,整个数据库文件大小2.06G。删除大部分记录后,该表占用925....
数据库中有一张表数据特别多,特意清理了一下,删除数据前,该表占用1767.383MB,数据297万条记录,整个数据库文件大小2.06G。
删除大部分记录后,该表占用925.953MB,数据55W条,进行了压缩数据库和文件后,仍然有1.88G。
表的占用空间缩小了841MB,但数据库文件却只缩小了180G,剩下的在哪?我要怎么才能彻底的把空间找回来?求助高手帮忙啊
日志文件已经清理了,上面说的数据库文件只是值得MDF文件,日志文件已经清理了 展开
删除大部分记录后,该表占用925.953MB,数据55W条,进行了压缩数据库和文件后,仍然有1.88G。
表的占用空间缩小了841MB,但数据库文件却只缩小了180G,剩下的在哪?我要怎么才能彻底的把空间找回来?求助高手帮忙啊
日志文件已经清理了,上面说的数据库文件只是值得MDF文件,日志文件已经清理了 展开
6个回答
展开全部
数据删除了
但空间并没有删除
这个你放心
虽然没有删除
但以后插入的数据会用到此空间的
只有truncate
才会删除空间和数据
但这个不能加条件
如果真要这样做的话
只有把你需要保留的数据转移临时表
清空之后再插回来
但空间并没有删除
这个你放心
虽然没有删除
但以后插入的数据会用到此空间的
只有truncate
才会删除空间和数据
但这个不能加条件
如果真要这样做的话
只有把你需要保留的数据转移临时表
清空之后再插回来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用的delete删除吧,delete是不会立即释放空间的,具体的操作你可以参照
http://www.itpub.net/thread-1620605-3-1.html
这个问题和你的一样,而且很多大师给出了很好的建议,结合你的实际情况取最佳的吧
http://www.itpub.net/thread-1620605-3-1.html
这个问题和你的一样,而且很多大师给出了很好的建议,结合你的实际情况取最佳的吧
追问
他们说的是Oracle啊,我要的是SQL2005的操作方法啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
经过测试可以知道,只有insert和truncate 操作不写入log日志表,为了不丢失数据,可以做一张中间表(表2),步骤如下:
写trigger,在数据插入表1的时候同时往表2中插入数据,
记录某个时间点,truncate table 表2,
再将表1中这个时间点到某个时间段的记录插入到表2,(这个时候,表1一直在插入数据,由trigger写到表2中)
truncate table 表1,
压缩数据库文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先截断日志: Backup Log 数据库名字 With NO_Log
再压缩日志文件
再压缩日志文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询