开发者社区> 问答> 正文

SQL Server未使用,但分配了表空间

我有越来越大的ms sql数据库。经检查,我发现某些表中有一堆未使用的空间。我没有进行很多物理删除,因此我认为它只是删除的记录。DBCC SHRINK不会缩小文件。但是,如果我将表转储到新的空数据库中,则大小将减少约80%。最终,我在新数据库中获得的内存约为1.5gb,而不是当前数据库中此表中的7gb。好像sql server正在分配太多内存。有人遇到过吗?我希望能够通过删除未使用的分配空间来缩小表,而不必创建一个全新的数据库。

附加信息:

使用完整恢复模型。我会尝试重建索引,我认为已经有一段时间了。ldf每天都会使用一些古怪的存储过程将其缩减。

展开
收起
心有灵_夕 2019-12-26 22:18:01 811 0
1 条回答
写回答
取消 提交回答
  • 在选项中,您可以指定增长幅度。默认情况下,我认为它是10%,所以给定一个200MB的数据库,当您填充最后一页时,它将分配另外20MB的页面空间。在7GB时,它将分配700MB。

    我不知道在创建数据库后可以在哪里修改它,但是我知道在创建数据库时可以在其中修改它。一点点Google工作将很可能向您揭示答案。

    注意:我的回答不是如何解决,而是也许如何防止/解释为什么您可能会看到所有这些未分配的空间。

    2019-12-26 22:18:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载