首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大于可用磁盘空间的UnShrunk Server数据库恢复

大于可用磁盘空间的UnShrunk Server数据库恢复
EN

Database Administration用户
提问于 2016-03-22 19:17:26
回答 3查看 1.5K关注 0票数 0

由于缺乏硬盘空间,无法还原数据库。原始数据库为1.6TB,大约1.4TB被删除,并在不收缩数据库的情况下进行备份。

备份文件只有168 me,是通过信使在硬盘上发送给我的。当我试图还原168 of备份文件时,它尝试创建原始的1.6TB .mdf数据文件和错误,因为我所有可用服务器的可用磁盘空间都不到1TB。

首先,我尝试将数据文件还原到NTFS压缩文件夹,但是我发现一个错误,说明目标文件可能没有设置压缩位。

然后,根据这个链接:在还原过程中收缩SQL数据库

我尝试将还原的.mdf文件放入指向压缩文件夹的符号链接文件夹中,但是出现了错误:

System.Data.SqlClient.SqlError:磁盘卷'C:\‘上没有足够的空闲空间来创建数据库。数据库需要额外的1541063704576个空闲字节,而可用的只有748261179392字节。(Microsoft.SqlServer.SmoExtended)

然后,由于这是在超级VM中运行的,我尝试在压缩文件夹中添加一个新的虚拟磁盘,但是VM不会开始抱怨一个位于压缩文件夹中的驱动器。

然后,我尝试在指向压缩文件夹的符号链接文件夹中添加一个新的超级V虚拟磁盘。这很好,除非该文件在恢复过程中未被压缩,并且在我杀死它之前已接近耗尽的空间(我猜资源管理器可能会在文件被写入过程“SQL”关闭后压缩它)

还原的数据库应该仅包含168 it的实际数据。

有人有什么解决办法吗?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2016-03-30 14:06:49

你的选择很有限。

  1. 获得足够的磁盘空间来恢复此数据库。还原备份时,即使大部分空间未使用,Server也需要创建数据文件。还原后,您可以缩小文件并移动它们,但最终您将需要1.6TB的磁盘空间来执行还原。如果您只是为了这个恢复使用临时驱动器,那么它不必是好的/快速的存储--它只需要存储。
  2. 找个新的后援。您可以让客户端缩小数据库,然后进行新的备份,并向您发送收缩后数据库的副本。
票数 1
EN

Database Administration用户

发布于 2016-03-22 20:23:03

我不确定这是否是一个答案,但它太大了,不能发表评论

我也有过很多次同样的问题。在我的例子中,总是与日志文件有关。当您获得备份时,日志文件可能不包含任何活动日志/数据,并且它不会占用备份文件中的任何空间,但是在还原时,SQL server尝试分配相同的空间。如果有任何方法可以在还原时忽略日志文件,则可以恢复。

看看这个,也许会有帮助

票数 0
EN

Database Administration用户

发布于 2022-07-15 09:12:07

可以使用将所有文件重新定位到驱动器有大量空闲空间的文件夹。我在驱动器C上也有同样的问题,在SSMS中使用Relocate all files to选项,如所示,然后单击OK并解决。

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

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

复制
相关文章

相似问题

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