SQL Server 2014数据库NDF文件丢失 - 文件组脱机

时间:2015-04-09 17:32:24

标签: sql-server database sql-server-2014 data-recovery dynamics-nav

我有一个数据库丢失了其中一个.ndf文件但无法获取数据。有问题的.ndf文件是在上周四添加的,并由同事放在临时存储位置(d'哦!)。自创建此.ndf之前,此数据库中没有可用的备份。当问题.ndf是它自己的文件组时,我已经看到了许多类似问题的解决方案,但在这种情况下,它实际上是在一个文件组中,我想尝试从中获取数据。我很确定我想做的事情是不可能的,但总有机会吗?

数据库设置

  • PRIMARY:Data.mdf -200mb
  • 数据文件组1:Data_1.ndf - 2.9gb
  • Data_2.ndf - 64gb(新添加的文件现已丢失 - 我相信它只是预先分配的空间)

  • 日志:Log.ldf - 128mb

当我们今天早上登录虚拟机时(在Azure中托管),我们收到了来自Windows的意外关机通知(似乎凌晨1点有电源损失/关机),而我们的应用程序没有到达数据库。查看SQL Server Management Studio,我可以看到它处于Recovery Pending状态。尝试将数据库联机引导我发现错误Data_2.ndf未找到(位于D:\SQL\Data\Data_2.ndf)。

当我访问D盘(临时存储驱动器)时,我看到了一个很棒的空白Windows资源管理器窗口 - 完全空白驱动器。

我能够将Data_2.ndf文件设置为脱机并使数据库本身联机,但由于文件组处于脱机状态,我无法查询任何数据(因为所有表都在数据文件组1中) 。其他3个文件(mdf, ndf, ldf)都在线。

有什么方法可以解决这个问题吗?或许可以从Data_1.ndf中恢复任何剩余数据,还是完全吐司?

(这是一个匆忙站起来的开发服务器,它没有备份/恢复策略,因为" Azure永远不会崩溃" :))。

(编辑:格式化)

1 个答案:

答案 0 :(得分:0)

你被软管了。这是一个奇迹,你可以打开你的数据库。您确定可以检索数据 - 您是否尝试过选择?您可能会在数据库管理员组中收到更广泛的答案。