我们客户端的服务器损坏,包含NDF和LDF文件的驱动器消失了。幸存下来的唯一驱动器是带有MDF文件的驱动器。
没有任何类型的备份。他们通过创建新数据库(从旧数据库,我猜)恢复数据库,我知道这只是一个要点,并应用bcp实用程序将数据复制到新数据库。但是,他们不会发布他们实际恢复的信息。
所以,我很想知道当NDF文件丢失/丢失时如何才能从MDF文件中恢复数据。
2 个答案:
答案 0 :(得分:1)
您需要使用 sp_attach_single_file_db 系统存储过程来恢复数据库。像这样......
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
答案 1 :(得分:0)
当NDF文件丢失/丢失时,仅从MDF文件中恢复数据。
您可以使用SQL Database Recovery Tool Repairs
我有一个数据库文件(Diamond.mdf),该文件已损坏,无法附加到SQL Server DB中,并且包含大多数业务数据。我不知道该错误,无法恢复损坏的数据库。我做了很多手动机制来克服这个问题,但是做不到。
- 选择MDF文件:通过选择“选择”打开“选择数据库”对话框
文件菜单中的数据库图标。在“选择数据库”对话框中,单击“确定”。
浏览。
- 打开对话框将出现。浏览并选择所需的文件,然后
然后单击“打开”,然后选择“包括已删除的记录”复选框以
在修复过程中恢复已删除的记录(如果找到)。
- 通过选择“选择数据库”图标来打开“选择数据库”对话框
文件功能区。在“搜索”部分中,选择要搜索的驱动器
用于MDF文件。单击确定。
- 搜索完成后,找到了MS SQL数据库文件列表
显示所选驱动器中的。选择您要修复的文件
此列表,然后单击修复按钮以开始修复过程。
- 搜索完成后,找到了MS SQL数据库文件列表
显示所选驱动器中的。选择您要修复的文件
此列表,然后单击修复按钮以开始修复过程。
- 这将修复损坏的mdf文件并加载数据库对象
在左侧窗格中。这样,我们可以查看所有存储的表
过程和所有对象。
- 成功完成修复过程后,Stellar Repair
对于MS SQL,显示损坏的数据库文件的预览。左窗格
显示项目列表(表,视图,同义词,默认值,数据类型
等)在树状结构中,右上窗格显示
在树状视图和底部窗格中选择的项目的内容显示
消息日志。下面显示了一个示例屏幕
- 修复过程完成后,单击“保存”
文件功能区。指定是否要保存修复的数据库
通过选择适当的单选以MDF,CSV,HTML或XLS格式显示
按钮。将修复的数据库另存为MDF将修复的数据库另存为
CSV,HTML或XLS如果要将修复的数据库另存为
MDF,您可以将数据库另存为新数据库,也可以
将数据插入到现有的Live数据库中。
- 要将已修复的数据库另存为全新数据库,请遵循
下面提到的步骤:选择“新建数据库”单选按钮。输入
服务器/实例名称。从中选择身份验证方法
下拉列表以登录到服务器。
- 如果选择的身份验证方法是Windows身份验证,则您
无需输入任何用户名和密码。输入服务器用户名
和密码(如果所选的身份验证方法是SQL Server)
身份验证。
- 选择保存修复的MDF文件的目的地。点击保存
按钮保存修复的MS SQL数据库文件。一条消息是
该过程成功完成后显示。
- 修复工作已完全完成,我能够打开数据库
从SQL Server Db,如下所示。
注意:这不是免费工具。