首页数据库mdf数据库恢复 mdf文件怎么恢复

mdf数据库恢复 mdf文件怎么恢复

编程之家2023-10-22105次浏览

大家好,感谢邀请,今天来为大家分享一下mdf数据库恢复的问题,以及和mdf文件怎么恢复的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

mdf数据库恢复 mdf文件怎么恢复

数据库mdf文件可以恢复吗

很多的用户在生活中都不怎么会遇到数据库mdf文件,但是有时候还是会不小心吧文件给弄丢了,也不知道能不能恢复,下面就给大家带来数据库mdf文件能否恢复的详情。

数据库mdf文件可以恢复吗:

答:是可以恢复的。

方法一、

1、把mdf文件和ldf文件拷贝到数据库的默知认路径道C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA里。

2、在sqlserver里新建个查询,执行下面代码。

mdf数据库恢复 mdf文件怎么恢复

USEmaster;

GO

CREATEDATABASENewFile

ON(FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf'),

(FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf')

FORATTACH;

mdf数据库恢复 mdf文件怎么恢复

GO

3、刷专新数据库,就出现了新的数据库NewFile,根据属mdf文件和ldf文件还原成功。

方法二、

1、打开SQLServer软件,点击下拉菜单中的还原数据按钮。

2、进入还原窗口。

3、设置数据库的源对象,完成后还需设置目标原文件。

4、点击“确定”即可开始还原数据库。

还有其他问题的小伙伴可以看看【mdf文件常见问题大全】了解更多有关mdf文件的问题~

以上就是给各位小伙伴带来的数据库mdf文件还原方法,希望你们会喜欢。

只有MDF文件如何恢复数据库

�0�2�0�2�0�2如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息�0�2�0�2�0�2设备激活错误。�0�2�0�2�0�2物理文件名'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF'可能有误。�0�2�0�2�0�2已创建名为'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF'的新日志文件。�0�2�0�2�0�2�0�2但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息�0�2�0�2�0�2服务器:消息 1813,级别 16,状态 2,行 1�0�2�0�2�0�2未能打开新数据库'test'。CREATE DATABASE将终止。�0�2�0�2�0�2 A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。�0�2�0�2�0�2 B.停掉数据库服务器。�0�2�0�2�0�2 C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf�0�2�0�2�0�2 D.启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。�0�2�0�2�0�2�0�2 E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。�0�2�0�2�0�2 use master�0�2�0�2�0�2 go�0�2�0�2�0�2 sp_configure'allow updates',1�0�2�0�2�0�2 go�0�2�0�2�0�2 reconfigure with override�0�2�0�2�0�2 go�0�2�0�2�0�2 F.设置test为紧急修复模式�0�2�0�2�0�2 update sysdatabases set status=-32768 where dbid=DB_ID('test')�0�2�0�2�0�2此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表�0�2�0�2�0�2 G.下面执行真正的恢复操作,重建数据库日志文件�0�2�0�2�0�2 dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')�0�2�0�2�0�2执行过程中,如果遇到下列提示信息:�0�2�0�2�0�2服务器:消息 5030,级别 16,状态 1,行 1�0�2�0�2�0�2未能排它地锁定数据库以执行该操作。�0�2�0�2�0�2 DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。�0�2�0�2�0�2说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。�0�2�0�2�0�2正确执行完成的提示应该类似于:�0�2�0�2�0�2警告:数据库'test'的日志已重建。已失去事务的一致性。�0�2�0�2�0�2应运行 DBCC CHECKDB以验证物理一致性。�0�2�0�2�0�2将必须重置数据库选项,并且可能需要删除多余的日志文件。�0�2�0�2�0�2数据恢复 sql数据库修复密码恢复�0�2�0�2�0�2 sql数据库恢复硬盘异响坏道修复文件恢复�0�2�0�2�0�2 sql server修复文件修复�0�2�0�2�0�2 raid数据恢复 sql数据库修复�0�2�0�2�0�2 raid磁盘阵列 sql恢复 sql server恢复�0�2�0�2�0�2硬盘数据恢复硬盘坏道修复硬盘数据修复数据修复�0�2�0�2�0�2 DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。�0�2�0�2�0�2此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。�0�2�0�2�0�2 H.验证数据库一致性(可省略)�0�2�0�2�0�2 dbcc checkdb('test')�0�2�0�2�0�2一般执行结果如下:�0�2�0�2�0�2 CHECKDB发现了 0个分配错误和 0个一致性错误(在数据库'test'中)�0�2�0�2�0�2 DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。�0�2�0�2�0�2�0�2 I.设置数据库为正常状态�0�2�0�2�0�2 sp_dboption'test','dbo use only','false'�0�2�0�2�0�2如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。�0�2�0�2�0�2�0�2 J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成�0�2�0�2�0�2 sp_configure'allow updates',0�0�2�0�2�0�2 go

.mdf文件覆盖了能恢复么

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。

如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息

设备激活错误。物理文件名'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF'可能有误。

已创建名为'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF'的新日志文件。

但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息

服务器:消息 1813,级别 16,状态 2,行 1

未能打开新数据库'test'。CREATE DATABASE将终止。

设备激活错误。物理文件名'd:\test_log.LDF'可能有误。

怎么办呢?别着急,下面我们举例说明恢复办法。

*/

--A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。

--B.停掉数据库服务器。

--C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

--D.启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

--E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右--键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use master

go

sp_configure'allow updates',1

go

reconfigure with override

go

--F.设置test为紧急修复模式

--在查询管理器里设置如下命令:

update sysdatabases set status=-32768 where dbid=DB_ID('test')

--此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表

--G.下面执行真正的恢复操作,重建数据库日志文件

dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

/*

执行过程中,如果遇到下列提示信息:

服务器:消息 5030,级别 16,状态 1,行 1

未能排它地锁定数据库以执行该操作。

DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。

正确执行完成的提示应该类似于:

警告:数据库'test'的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。

DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。

此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

*/

--H.验证数据库一致性(可省略)

dbcc checkdb('test')

/*一般执行结果如下:

CHECKDB发现了 0个分配错误和 0个一致性错误(在数据库'test'中)。

DBCC执行完毕。如果 DBCC输出了错误信息,请与系统管理员联系。*/

--I.设置数据库为正常状态

sp_dboption'test','dbo use only','false'

--如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

--J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成

sp_configure'allow updates',0

go

reconfigure with override

go

mdf文件怎么恢复

mdf文件在正常使用的时候很少会与用户接触以至于用户对他很不了解容易造成误删等情况,那么该怎么样去恢复它呢?今天就为大家带来了详细的恢复教程一起看看吧。

mdf文件怎么恢复:

1、把备份文件放到目录:C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA。

2、右击“数据库”选择“附加”。

3、把.mdf文件添加进来。

4、选中第一步添加到目录:C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA里面的MyDb.mdf文件,

文件类型选择“数据库文件(*.mdf)”。

5、点击“确定”。

6、即可恢复文件。

还有其他问题的小伙伴可以看看【mdf文件常见问题大全】了解更多有关mdf文件的问题~

以上就是给各位小伙伴带来的mdf文件恢复详细教程,希望你们会喜欢。

好了,文章到这里就结束啦,如果本次分享的mdf数据库恢复和mdf文件怎么恢复问题对您有所帮助,还望关注下本站哦!

dede数据库配置文件?DEDECMS数据库配置文件在哪web服务器怎么搭建?WEB服务器环境怎么搭建