我正在尝试使用生产数据库将 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 驱动器/笔或另一个盒子以生成更多临时存储,整理数据,再次备份,恢复“正常”