`
woshixushigang
  • 浏览: 562256 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

sqlserver2005mdf文件还原数据库

阅读更多

只有mdfldf文件,甚至只有mdf文件,如何恢复数据库

2010-04-19 10:34

只有mdfldf文件,甚至只有mdf文件,如何恢复数据库

1. 首先确认已经备份了.mdf.ldf文件。

2.
SQL Server中新建一个同名的数据库,然后停止SQL Server服务。

3.
用原有的.mdf.ldf文件覆盖新建数据库对应的.mdf.ldf文件。

4.
重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。(人品好的话,这个时候数据库就已经恢复正常了,上次xrf的数据库就是这样被我恢复的。人品不好的话,下面的步骤也不行,我有一次就是找了一个北京做数据恢复的公司才恢复完毕。)

5.
SQL查询分析器中执行以下命令,以允许更新系统表:

use master

go

sp_configure ‘allow updates’,1

reconfigure with override

go

6.
将这个数据库置为紧急模式:

update sysdatabases set status = 32768 where name = 'db_name'

go

7.
使用DBCC CHECKDB命令检查数据库中的错误:

DBCC CHECKDB(‘db_name’)

GO

8.
如果DBCC CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:

sp_dboption 'db_name',’single user’,’true’

DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)

GO

如果在执行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。

9.
如果DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:

重新执行DBCC CHECKDB(‘db_name’)命令,确认数据库中已没有错误存在。

清除数据库的置疑状态:sp_resetstatus 'db_name'

清除数据库的单用户模式状态:sp_dboption 'db_name',’single user’,’false’

重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。

10.
如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。

如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:


1.
SQL Server中新建一个同名的数据库,然后停止SQL Server服务。

2.
用原有的ldf文件覆盖新建数据库对应的.mdf文件,将其日志文件(.ldf)删除。

3.
启动SQL Server服务,并将数据库置为紧急模式(同上: 步骤5和步骤6)。

4.
停止并重新启动SQL Server服务。

5.
执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)

DBCC REBUILD_LOG
’cas_db’, 'D:\cas_db\cas_db_Log.LDF'

6.
重新将该数据库置为单用户模式,
7.
再次尝试使用DBCC CHECKTABLEDBCC CHECKDB命令检查并修复数据库中的错误

 

 

分享到:
评论

相关推荐

    SqlMDF数据提取工具

    6、、系统崩溃只剩下Sqlserver数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复。 7、SqlServer数据文件内部存在坏页情况下的恢复。 8、在Sql Server运行在简单日志模式、完全日志模式或者大容量...

    MDF文件修复大师 823错误

    1、在SQLserver企业管理器里面删除数据库对象,导致MDF文件被删除。 2、直接在文件系统里面删除了SQLSERVER数据文件即MDF文件 3、误格式化或分区导致MDF文件丢失。 4、不能附加823.824 IO错误. 5、解决没有日志 ...

    SQL SERVER 2005数据库还原的方法

    在SQL SERVER 2005下还原数据库 1、新建数据库A,右键还原数据库,此时目标数据库为A,选择备份 文件B_db_201311040200.BAK,还原时提示“备份集中的数据库备份与现有的A数据库不同” 2、google一下,有人说是文件名...

    使用mdf和ldf还原数据库

    sql2008数据库使用mdf文件和ldf文件还原,根据步骤做,很简单

    数据库MDF数据文件数据库恢复.doc

    数据库MDF数据文件数据库恢复 大 " 中 " 小 [ 2007/03/21 11:41 " by 鲜春林 ] .mdf文件是数据库中的一个主要数据文件,它是数据库的起点,指向... Mdf文件如何导入到SqlServer数据库 过程: 1.停掉MSSQLSERVER,将

    sql server 还原工具

    可以:1直接还原sql server 的 mdf ldf 文件2直接还原备份文件

    SQL Server无日志恢复数据库(2种方法)

    SQL Server数据库中的日志文件可能会由于一些突发事件或者失误造成丢失的严重后果,大家都知道,SQL Server数据库中日志文件是很重要的,所以要及时的将丢失的日志文件给找回来。下文就为大家介绍一种恢复数据库日志...

    完美解决SQL server 5173问题(一个或多个文件与数据库的主文件不匹配)

    消息 5173,级别 16,状态 2,第 ...如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。 如果出现这个错误,不用急,这是mdf和ldf不一致导致,ldf文件损坏了,按本尊方法新建ldf文件,就能完美解决 !!!!

    Delphi代码编写SqlServer数据库备份还原工具.rar

    Delphi代码编写SqlServer数据库备份还原工具,可直接还原sql server 的 mdf ldf 文件,直接还原备份文件。

    VB6.0 SqlServer数据库备份还原程序.rar

    VB6.0 SqlServer数据库备份还原程序,你可以附加的数据库文件路径--(支持拖放),mdf和ldf文件存放的路径要对应LDF文件,需要你填写在SQL中还原的数据库的名字。操作方法:打开后首先需要连接数据库,不然会提示没有...

    mdf数据库恢复

    赤兔SQL Server数据库恢复软件可以处理微软SQL数据库丢失,数据库损坏,数据库备份损坏,数据库日志损坏等故障下的数据恢复。   产品功能如下: 1、去掉了之前老版本的页面分析和碎片分析的界面,直接就一个库界面,...

    SQLSERVER数据库备份后无法还原的解决办法

    有时候完全备份, 当还原的时候说不时数据库文件不让还原, 解决办法: 可以直接复制数据库文件, xxx.mdf 和 xxx.ldf (实际复制过程中需要先停止sqlserver服务才可以)用 sp_attach_db 存储过程 就能搞定. 示例 下面的...

    sqlserver还原数据库的时候出现提示无法打开备份设备的解决方法(设备出现错误或设备脱)

    2、检查提示的系统库账套路径d:\u8soft\Admin\server\,与mdf数据文件目录(ZT+账套号\年号,此部分不保存在系统库中)是否一致” 【问题原因】 备份临时目录无法写入“无法打开备份设备’E:\自动备份\ufidau8xTmp\...

    C# 高级编程数据库 Northwind +pubs,mdf格式,用SQL SERVER还原

    《C# 高级编程数据库(第九版)》,书中所需的数据库:Northwind和pubs,是mdf格式的,用SQL SERVER还原就好。

    SQL Server 2005 还原数据库错误解决方法

    在还源数据库时出现以下错误(详情参见下图): System.Data.SqlClient.SqlError: 在对 ‘C:\... (Microsoft.SqlServer.Express.Smo)     原因分析: 没有对”C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL

    C#企业人事管理系统 vs2005+sqlserver2005

    (1)将TM\07\PWMS\PWMS\DataBase文件夹中的db_PWMS.mdf和db_PWMS_log.ldf文件拷贝到SQL Server 2005安装路径下的MSSQL.1\MSSQL\Data目录下。 (2)选择开始/程序/Microsoft SQL Server 2005/SQL Server Management ...

    SQL Server从备份到转移的方法

    本文介绍了SQL Server数据库的备份、还原、收缩、转移的方法。

Global site tag (gtag.js) - Google Analytics