SQL Server .bak 还原所需的空间过多

SQL Server .bak 还原所需的空间过多

我正在尝试使用生产数据库将 SQL Server 2008(标准版)备份恢复到我的开发机器。执行此操作时,我收到“可用空间不足”错误。SQL Server 声称需要 43 GB 的可用空间来恢复我的数据库,但 .bak 文件只有 4.5 GB!当然,我会给它一点操作空间,但实际使用空间的 10 倍似乎有点过分。我没有压缩这个数据库(当我压缩 .bak 文件时,它会减少到 0.8 GB)。

我可以对原始数据库做些什么,以便将其安装在更小的工作空间内?

答案1

这是否可能是您的事务日志文件...备份将要创建一个与原始文件一样大的文件。

如果是这种情况,最好的办法是在备份之前缩小日志文件。

如果您可以摆脱困境,那么除了备份之外的另一种选择是分离,然后复制数据库文件并重新连接,SQL 将以默认大小(例如 1mb)创建一个新的事务日志文件。

答案2

43GB 是 MDF 和 LDF 文件的总大小(最有可能)。

备份仅占用文件中使用过的页面,因此完全有可能,特别是当您的表/索引碎片很多,或者从未管理过日志文件或从未进行过索引维护时

解决方法:更多磁盘空间(当然!)。尝试恢复到压缩的 NTFS 文件夹、外部 USB 驱动器/笔或另一个盒子以生成更多临时存储,整理数据,再次备份,恢复“正常”

相关内容