Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从mdf文件恢复数据(ndf丢失)_Sql Server_Data Recovery - Fatal编程技术网

Sql server 从mdf文件恢复数据(ndf丢失)

Sql server 从mdf文件恢复数据(ndf丢失),sql-server,data-recovery,Sql Server,Data Recovery,我们客户端的服务器损坏,包含NDF和LDF文件的驱动器不见了。唯一幸存下来的驱动器是带有MDF文件的驱动器 没有任何类型的备份。他们通过创建新数据库(我想是从旧数据库中创建的),并应用bcp实用程序将数据复制到新数据库,从而恢复了数据库(我只知道其中的要点)。但是,他们不会透露他们实际上是如何恢复的 所以,我只是想知道,当NDF文件丢失/丢失时,如何仅从MDF文件恢复数据 您需要使用系统存储过程恢复数据库。像这样的 USE [master] GO EXECUTE sp_attach_singl

我们客户端的服务器损坏,包含NDF和LDF文件的驱动器不见了。唯一幸存下来的驱动器是带有MDF文件的驱动器

没有任何类型的备份。他们通过创建新数据库(我想是从旧数据库中创建的),并应用bcp实用程序将数据复制到新数据库,从而恢复了数据库(我只知道其中的要点)。但是,他们不会透露他们实际上是如何恢复的


所以,我只是想知道,当NDF文件丢失/丢失时,如何仅从MDF文件恢复数据

您需要使用系统存储过程恢复数据库。像这样的

USE [master]
GO

EXECUTE sp_attach_single_file_db @dbname='DB_Name',
@physname=N'C:\Path_To_Your_MDF_FILE\DB_Name.mdf'
GO
编辑

USE [master]
GO

CREATE DATABASE DB_Name
ON (FILENAME = N'C:\Path_To_Your_MDF_FILE\DB_Name.mdf') 
FOR ATTACH ;
GO

仅在NDF文件丢失/丢失时从MDF文件恢复数据

你可以用

我有一个数据库文件(Diamond.mdf),该文件已损坏,无法连接到SQLServerDB,其中包含大部分业务数据。我对错误一无所知,无法恢复损坏的数据库。我做了这么多的手动机制来克服这个问题,但无法做到

  • 选择MDF文件:通过选择“选择”打开“选择数据库”对话框 文件菜单中的数据库图标。在“选择数据库”对话框中,单击 浏览
  • “打开”对话框将出现。浏览并选择所需的文件,然后单击“确定” 然后单击打开并选中“包括已删除记录”复选框以 在修复过程中恢复已删除的记录(如果找到)
  • 通过从中选择“选择数据库”图标打开“选择数据库”对话框 文件功能区。从“搜索”部分中,选择要搜索的驱动器 用于MDF文件。单击“确定”

  • 搜索完成后,将找到MS SQL数据库文件的列表 在中,将显示选定的驱动器。选择要从中修复的文件 单击此列表,然后单击“修复”按钮开始修复过程

  • 搜索完成后,将找到MS SQL数据库文件的列表 在中,将显示选定的驱动器。选择要从中修复的文件 单击此列表,然后单击“修复”按钮开始修复过程

  • 这将修复损坏的mdf文件并加载数据库对象 在左侧窗格上。这样,我们可以查看所有存储的表 过程和所有对象
  • 成功完成修复过程后,Stellar Repair for MS SQL显示损坏数据库文件的预览。左窗格 显示项目列表(表、视图、同义词、默认值、数据类型 在树状结构中,右上窗格显示 树状图和底部窗格中所选项目的内容显示 消息日志。下面显示一个示例屏幕

  • 修复过程完成后,从中单击“保存选项” 文件功能区。指定是否要保存已修复的数据库 通过选择适当的收音机以MDF、CSV、HTML或XLS格式显示 按钮将修复的数据库另存为MDF将修复的数据库另存为 CSV、HTML或XLS,如果要将修复后的数据库保存为 MDF,您可以将数据库另存为新数据库,也可以 将数据插入现有实时数据库
  • 要将修复后的数据库保存为全新数据库,请执行以下操作 下面提到的步骤:选择新建数据库单选按钮。进入 服务器/实例名称。从列表中选择身份验证方法 用于登录到服务器的下拉列表
  • 如果选择的身份验证方法是Windows身份验证,则 无需输入任何用户名和密码。输入服务器用户名 和密码,如果选择的身份验证方法是SQL Server 认证

  • 选择用于保存修复的MDF文件的目标。单击保存 按钮保存修复后的MS SQL数据库文件。一条消息是 流程成功完成后显示

  • 修复工作已经完成,我能够打开数据库 从SQLServerDB下载,如下所示。

注意:这不是免费的工具。

我以前尝试过这个工具……如果没有ndf(如果数据库有ndf文件),它将无法执行。编辑工具也不起作用。仍在查找ndf文件。