`

SqL Server 利用mdf文件恢复数据库

 
阅读更多

SqL Server 利用mdf文件恢复数据库

1.使用命令行

use master;


EXEC sp_attach_single_file_db @dbname = 'tggov_Data', 

@physname = 'E:\tggov_Data\www.jb51.net.MDF' 

'tggov_Data' 

为恢复的数据库名 

'E:\tggov_Data\tggov_Data.MDF' 

物理文件位置 


2.不使用命令行

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

   2.停掉数据库服务器。 

   3.将刚才生成的数据库的日志文件MHDYF2005_log.ldf删除,用要恢复的数据库mdf(yu1.mdf)文件覆盖刚才生成的数据库数据文件MHDYF2005_data.mdf。 

   4.启动数据库服务器。(刷新之后)此时会看到数据库MHDYF2005的状态为“置疑”。这时候不要对此数据库进行任何操作。 

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

   6.设置MHDYF2005为紧急修复模式,语句如下: update sysdatabases set status=-32768 where dbid=DB_ID(‘MHDYF2005‘) 

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

   7.下面执行真正的恢复操作,重建数据库日志文件 dbcc rebuild_log(‘MHDYF2005‘,‘C:\Program Files\Microsoft 

  SQL Server\MSSQL\Data\MHDYF2005_log.ldf‘) 

  执行过程中,如果遇到下列提示信息: 服务器: 消息 5030,级别 16,状态 1,行 1 

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

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

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

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

  警告: 数据库 ‘MHDYF2005‘ 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 

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

  8.验证数据库一致性(可省略),语句如下: dbcc checkdb(‘MHDYF2005‘) 

  一般执行结果如下:CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 ‘MHDYF2005‘ 中)。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 

  9.设置数据库为正常状态,语句如下: sp_dboption ‘MHDYF2005‘,‘dbo use only‘,‘false‘

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

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

分享到:
评论

相关推荐

    SQL SERVER 2005 如何恢复mdf文件的数据库

    SQL Server 2005 如何恢复 mdf 文件的数据库 SQL Server 2005 是微软公司推出的关系数据库管理系统,它提供了强大的数据存储和管理功能。然而,在实际应用中,数据库管理员可能会遇到各种意外情况,如误操作、数据...

    SqlServer2005 打开 SqlServer2008 mdf文件

    Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...

    MDF文件在SQL Server数据库中恢复技术

    MDF文件在SQL Server数据库中恢复技术 MDF文件在SQL Server数据库中恢复技术是指在SQL Server数据库中恢复MDF文件的方法。MDF文件是SQL Server数据库的主要组成部分,用于存储数据库的数据和结构信息。在本文中,...

    教你轻松恢复修复SQL Server的MDF文件

    ### 教你轻松恢复修复SQL Server的MDF文件 在SQL Server环境中,MDF文件(主数据文件)是构成数据库的重要组成部分之一。当MDF文件出现损坏或丢失时,可能会导致整个数据库无法正常运行。本文将详细介绍如何仅通过...

    如何强制删除或恢复SQLServer正在使用的数据库

    通常情况睛,SQLServer... 您可能感兴趣的文章:sqlserver只有MDF文件恢复数据库的方法sqlserver 数据库日志备份和恢复步骤asp 在线备份与恢复sqlserver数据库的代码SQLserver 数据库危险存储过程删除与恢复方法SQL Serv

    sqlserver2005mdf文件还原数据库

    在SQL Server 2005中,`.mdf`(主数据文件)和`.ldf`(日志文件)是数据库的重要组成部分。`.mdf`文件存储了数据库的结构和数据,而`.ldf`文件则记录了所有的事务日志信息,用于数据恢复和事务一致性。当你只有一个`...

    只有mdf如何通过mdf文件还原数据库

    通过以上步骤,我们可以有效地利用`.mdf`文件来恢复SQL Server数据库。需要注意的是,在整个过程中,必须谨慎操作,特别是在修改系统配置和数据库状态时,以防意外发生。此外,定期备份数据库是非常重要的,这可以...

    SQL SERVER数据库MDF文件页查看器

    总的来说,SQL SERVER数据库MDF文件页查看器是一个专业的技术工具,主要针对数据库管理员、开发人员和IT专业人士,他们在排查问题、分析数据或进行数据恢复时,需要深入了解数据库的底层结构。使用这款工具需要具备...

    SQL Server 2005 数据库恢复:MDF文件

    本篇文章将深入探讨如何使用MDF文件来恢复SQL Server 2005数据库,即使没有可用的日志文件(LDF)也能进行部分恢复。 首先,我们需要理解MDF文件的重要性。MDF文件是SQL Server数据库的主要数据文件,它包含了...

    sqlserver只有MDF文件恢复数据库的方法

    通过以上步骤,可以有效地仅利用MDF文件恢复SQL Server数据库。虽然这种方法存在一定的风险,但在紧急情况下不失为一种可行的解决方案。在实际操作过程中,还需要根据具体情况灵活调整策略,确保数据的安全与完整。

    SqlServer数据库 MySchool资源mdf文件

    在SQL Server中,`.mdf`文件是主数据文件的扩展名,它是数据库的核心组成部分,存储着数据库的结构、表、索引、视图等所有数据和对象。本主题将深入探讨`MySchool`数据库资源及其相关的SQL Server知识点。 首先,`...

    SQLServer数据库的备份和还原详解

    - **MDF 文件**: 这是SQL Server数据库的主要数据文件,存储了数据库的所有数据。每一个SQL Server数据库至少包含一个MDF文件。 - **LDF 文件**: 这是SQL Server数据库的日志文件,记录了对数据库所做的所有更改。...

    只有mdf文件,如何修复数据库(sql server 2005)

    只有mdf文件,如何修复数据库(sql server 2005) 修复sql2005数据库

    造成mdf文件过大的原因

    3. 异常状况下占用的数据库空间没有释放:在异常状况下,数据库可能会占用大量的空间,而没有及时释放,这也会导致mdf文件过大。 要解决这些问题,可以使用以下方法: 1. 整理索引碎片:可以使用重组或重建索引的...

    mdf文件修复导出工具(真实可用)

    通过这个工具可以直接打开mdf文件,并导出数据、视图、存储过程等到sqlserver服务器。 网上能找到很多这类工具,这个鱼那个鱼、mdfview等,不付费都没有导出功能,但这个真实可用,刚刚用它恢复了一个2g左右的mdf。

    ASP NET链接SQLServer数据库程序 含有数据库文件

    描述中提到的“含有数据库文件”可能是指在项目中包含了`.mdf`文件,这是SQL Server的本地数据库文件。在ASP.NET开发环境中,可以直接在项目中引用这些文件,方便进行开发和测试。但需要注意的是,生产环境通常会...

    sql server 2005 mdf ldf 如何创建数据库.docx

    在SQL Server 2005中,创建数据库主要涉及到两种主要的文件类型:MDF(主数据文件)和LDF(日志文件)。MDF文件是数据库的主要部分,存储着数据库的所有用户数据和系统对象,而LDF文件则记录了数据库的所有事务日志...

    用简单模式,对SQLServer数据库收缩

    在SQL Server中,随着业务的增长与时间的推移,数据库文件(.mdf)和日志文件(.ldf)可能会变得非常庞大,即使数据库中的实际数据量并没有那么大。在这种情况下,为了节省磁盘空间并提高系统性能,可以考虑对数据库...

    SQL Server MDF文件检测程序

    6. **数据恢复技术**:除了MDF文件检测程序,还有其他的数据恢复工具,如SQL Server的`DBCC CHECKDB`命令,它可以检查数据库的完整性和一致性。如果检测到问题,可以使用`DBCC REPAIR_ALLOW_DATA_LOSS`尝试修复,但...

Global site tag (gtag.js) - Google Analytics