【发布时间】: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 CHECKDB和REPAIR_ALLOW_DATA_LOSS,但即使这样有效,任何实际存在于 .NDF 文件(如果有的话)中的数据显然无论如何都会消失。这些(和其他灾难)本质上就是您为其进行备份的原因。 -
我完全同意@JeroenMostert,最好的方法是隐藏您的 .ndf 文件。请您的 IT 操作人员检索此内容。
标签: sql sql-server sql-server-2008