sql-server – 删除大量行后,SQL Server数据库大小没有减少.
我不擅长SQL,但我有一个数据库需要维护.
几乎没有剩下的地方,所以我决定删除所有数据,比如说,2008年.执行删除查询(清理了大约10 000 000行)和清理事务日志后我发现我的操作对数据库大小没有影响.还有什么我必须做的吗? 解决方法虽然由于这里提到的原因,萎缩确实很危险. Jimbo的答案和John的答案之间有一个愉快的媒介……你应该认真考虑是否要缩小数据库.在理想的世界中 – 您将创建具有足够自由空间的数据库.我称之为“正确调整大小”您的数据库.你可以让这个免费空间在那里而不是努力让它回来,并保持你的总尺寸在你的二手尺寸.为什么?因为你的数据库最终会再次增长..然后你会再次萎缩..而你将陷入这种无用的缩减模式,随后是增长 – 而且整个时间,正如一些人已经指出的那样,你将成为增加你的索引碎片. 我在博客上写过这里,我告诫人们要“Don’t touch that shrink button!”,但有时……有时你需要.如果你有一个大型数据库,只需释放大量空间,并且不要期望重新进入它 – 那么可以考虑缩小为一次性操作,只要你可以通过重建来处理你的索引碎片他们.缩小操作可能非常耗时,因此您需要将其计划在可以支付缩减运行价格的时间.创建一个空数据库并将数据复制到其中的方法很有效 – 但是对于大型数据库和大量数据而言,这可能变得非常困难. 如果您打算通过正常使用和增长模式将该空间添加回数据库,那么您可能只想将空间留在那里. 也 我也假设您正在寻找文件系统上的这个可用空间.如果您正在SQL中查找它并且在您拥有的那个大文件中 – 如果您在操作后立即查看,那么您可能正在等待ghost清理完成. Paul Randal blogs about Ghost Cleanup. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |