【问题标题】:ndf file missing error shown while attaching the "mdf" file附加“mdf”文件时显示 ndf 文件丢失错误
【发布时间】:2018-09-28 09:09:52
【问题描述】:

我们的服务器中的数据库存在空间问题。因此,我们在另一个驱动器中为该数据库添加了一个辅助文件(ndf 文件)。 (ndf 文件-'c' 驱动器,mdf,ldf 文件-'e' 驱动器)。当我们格式化“C”盘时,ndf 文件被删除了。当我们尝试通过附加“mdf”文件再次取回该数据库时,我们收到“ndf 文件丢失”的错误。 那么接下来我们可以做些什么来让数据库恢复到原来的状态呢?

【问题讨论】:

  • 简单的解决方案:隐藏您的 .ndf 文件并检索它:)。或创建一个后台数据库并附加 .bak 文件(如果有)。
  • 后台文件不可用。我尝试创建一个新数据库并添加一个新的 ndf 文件。之后,我尝试在停止 sql server 服务后用旧的 mdf 和 ldf 文件替换新的 mdf 和 ldf 文件。然后我重新启动服务。现在我无法访问数据库。它显示“数据库处于恢复模式”
  • 您的数据库基本上已经死了。您可以尝试 DBCC CHECKDBREPAIR_ALLOW_DATA_LOSS,但即使这样有效,任何实际存在于 .NDF 文件(如果有的话)中的数据显然无论如何都会消失。这些(和其他灾难)本质上就是您为其进行备份的原因。
  • 我完全同意@JeroenMostert,最好的方法是隐藏您的 .ndf 文件。请您的 IT 操作人员检索此内容。

标签: sql sql-server sql-server-2008


【解决方案1】:

这是一个非常糟糕的举动。首先,将数据库文件放在 C: 驱动器上是一种不好的做法。其次,尝试格式化C:盘,主要包括重建服务器;为什么不备份整个服务器或至少备份服务器上的文件。

您在这种情况下的解决方案非常有限,如果结果过于苛刻,我们深表歉意,但请将此作为 IT/生活课程。有些数据非常重要,我无法想象必须丢失它。好吧,现在我看到了这些选项:

  • 使用数据恢复工具尝试检索格式化的磁盘数据。无论如何,这不是一个有保证的过程。
  • 拥有 .ndf 文件后,您应该能够恢复文件 - 希望没有损坏。
  • 如果检索到的 .NDF 文件已损坏或无法检索;然后准备好接受数据丢失。您可以尝试使用DBCC CHECKDBREPAR_ALLOW_DATA_LOSS。请注意,此命令不能保证修复数据库
  • 如果以上所有选项都不起作用。有一个很棒的第三方工具Stellar Phoenix SQL Database Repair 可以修复.MDF 和.NDF 文件。它将从损坏的数据库文件中修复和恢复数据,然后可以将其导出为其他格式,包括新创建的数据库。如果您需要再次建立此数据库,我真的认为这将是您最好的解决方案。

祝你好运,让我们知道进展如何。

【讨论】:

    【解决方案2】:

    ndf 文件包含数据,ndf 文件复制到您的文件所在的位置

    【讨论】:

    • 目前尚不清楚这如何回答这个问题,这似乎断言“ndf”是两件事。
    猜你喜欢
    • 2014-03-05
    • 1970-01-01
    • 2023-03-25
    • 2014-01-21
    • 1970-01-01
    • 2015-06-15
    • 2013-08-09
    • 2014-05-07
    • 1970-01-01
    相关资源
    最近更新 更多