首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >还原备份失败-磁盘空间不足

还原备份失败-磁盘空间不足
EN

Database Administration用户
提问于 2013-02-06 16:28:12
回答 4查看 46K关注 0票数 8

我有一个大约6Gb的备份。这是一个原始的“轻”备份(清除日志表),大约是14 is。

我尝试还原本地服务器上的备份。它失败了,出现了类似于:System.Data.SqlClient.Error: insufficient disk space的消息。它要求227,891,019,776字节,这是绝对疯狂的,几乎和我的整个硬盘一样大。

就像在其他网站上发现的那样,我尝试了RESTORE FILELISTONLY FROM DISK = 'backupfile.bak'

数据文件(列Size)的大小为6,888,226,816,但日志文件为221,006,987,264。列BackupSizeInBytes返回6,259,736,576和0。

因此,如果我正确理解,恢复检查是否有足够的空间在继续之前恢复日志文件的“理论”大小,而忽略实际的日志文件大小?

我怎么能绕过它?备份有点困难,所以如果我不用返回生产服务器就能解决我的问题,那就太好了。

谢谢!

哦,BTW,我在Server 2008 R2快车上。

EN

回答 4

Database Administration用户

回答已采纳

发布于 2013-02-06 17:01:57

注意,备份大小不包括空页,但是当您实际执行还原时,数据和日志文件将超过200 GB,因为它必须完全恢复源系统所拥有的内容(包括一个200+ GB日志文件,不管它有多满)。

如果您不想冒丢失数据的风险,则需要在源处纠正(例如,将日志文件缩小到合理的范围),进行另一次完全备份,并恢复该备份。我不太明白为什么很难获得备份--这是一个相当标准的操作,应该是由您花钱托管SQL Server的任何人提供的服务。

您还应该将源数据库修复为(a)处于正确的恢复模型或(b)更频繁地进行日志备份。您的日志文件是荒谬的,因为您正处于完全恢复状态,并且从不进行日志备份。如果需要时间点恢复,请开始备份日志。如果你不这么做,就换个简单的。如果正确配置日志文件,则日志文件应自行管理。如果没有,那么当它变成这样的时候,收缩应该是一次性的操作,然后你应该修复配置,所以下周你不会再这样做了.

票数 8
EN

Database Administration用户

发布于 2013-02-06 16:47:18

DBCC (3104)将绕过磁盘空间检查来恢复进程。

票数 3
EN

Database Administration用户

发布于 2013-02-06 17:00:00

没有任何事务日志备份,以便允许重复使用日志。因此,它必须得到所有的空日志,才能到达需要恢复的事务的各个部分。

因此,假设您已经准备好遭受一些(可能是相当多的)数据丢失,那么您可以在没有日志的情况下恢复它。这是不允许的。

这里有一个指向Server数据库恢复( http://www.sqlskills.com/blogs/paul/category/disaster-recovery/ )这一广泛主题的链接。你并不孤单:http://www.sqlskills.com/blogs/paul/search-engine-qa-23-my-transaction-log-is-full-now-what/。最后,对于在这种情况下可能有所帮助的几个命令,同样不要重新引用(您几乎肯定会遭受数据丢失) http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/34248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档