我正在尝试从32MB备份恢复数据库。我的磁盘上有6 6GB的可用空间。当我尝试恢复备份时,它显示磁盘空间不足错误。32MB备份怎么可能需要超过6 6GB的磁盘空间?
发布于 2013-03-12 04:45:57
可能是因为备份是压缩的,或者因为有一个非常大的日志文件不需要成为备份本身的一部分,或者因为数据文件本身已经被清除-备份只由包含数据的页面组成。但在恢复时,它仍然必须将数据文件扩展到其原始大小,即使其中大部分是空的。
运行时,向我们显示size列显示的内容:
RESTORE FILELISTONLY FROM DISK = '[path]\whatever.bak';
发布于 2019-05-07 17:29:54
我也有同样的问题,我有一个800MB的数据库备份文件,它需要320 GB的可用空间才能在目标计算机上恢复。
原来这只是因为数据库日志文件,为了确保日志文件是导致问题的原因,右键单击目标数据库并单击属性,然后在General
选项卡中检查数据库的Size
,如果它很大,请转到Files
选项卡并导航到tfiles的路径。
我通过界面在数据库和文件上运行了Shrink
命令,但它没有帮助,下面的查询最终救了我:
ALTER DATABASE DataBase_Name SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE(DataBase_Name_log, 200);
GO
ALTER DATABASE DataBase_Name SET RECOVERY FULL;
GO
这意味着您必须在数据库上运行查询,然后再次创建一个备份文件。
注意:正如您在上面的查询中看到的,在执行SHRINKFILE
之前,数据库恢复模式应该在Simple
上。
发布于 2013-03-12 04:51:06
仔细检查您要将mdf和ldf还原到哪个磁盘总是很好的,也许您是在一个已满的磁盘中创建文件,这是有可能发生的。
除此之外,我建议在另一个地方恢复备份,让文件SHRINKed,并再次备份它作为一个绝望的措施。
https://stackoverflow.com/questions/15348272
复制相似问题