我有越来越大的ms sql数据库。经检查,我发现某些表中有一堆未使用的空间。我没有进行很多物理删除,因此我认为它只是删除的记录。DBCC SHRINK不会缩小文件。但是,如果我将表转储到新的空数据库中,则大小将减少约80%。最终,我在新数据库中获得的内存约为1.5gb,而不是当前数据库中此表中的7gb。好像sql server正在分配太多内存。有人遇到过吗?我希望能够通过删除未使用的分配空间来缩小表,而不必创建一个全新的数据库。
附加信息:
使用完整恢复模型。我会尝试重建索引,我认为已经有一段时间了。ldf每天都会使用一些古怪的存储过程将其缩减。
在选项中,您可以指定增长幅度。默认情况下,我认为它是10%,所以给定一个200MB的数据库,当您填充最后一页时,它将分配另外20MB的页面空间。在7GB时,它将分配700MB。
我不知道在创建数据库后可以在哪里修改它,但是我知道在创建数据库时可以在其中修改它。一点点Google工作将很可能向您揭示答案。
注意:我的回答不是如何解决,而是也许如何防止/解释为什么您可能会看到所有这些未分配的空间。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。