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文件的数据库
通常情况睛,SQLServer... 您可能感兴趣的文章:sqlserver只有MDF文件恢复数据库的方法sqlserver 数据库日志备份和恢复步骤asp 在线备份与恢复sqlserver数据库的代码SQLserver 数据库危险存储过程删除与恢复方法SQL Serv
SqlServer2005 打开 SqlServer2008 mdf文件 数据库转换
本文将为大家介绍MDF文件在SQL Server数据库中是如何恢复的。
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息: 设备激活错误。 物理文件名 'C:\Program Files\Microsoft ...
NULL 博文链接:https://woshixushigang.iteye.com/blog/962492
在查询中执行下列语句 EXEC sp_... 您可能感兴趣的文章:如何强制删除或恢复SQLServer正在使用的数据库sqlserver 数据库日志备份和恢复步骤asp 在线备份与恢复sqlserver数据库的代码SQLserver 数据库危险存储过程删除
SqlServer数据库 MySchool资源mdf文件
通过这个工具可以直接打开mdf文件,并导出数据、视图、存储过程等到sqlserver服务器。 网上能找到很多这类工具,这个鱼那个鱼、mdfview等,不付费都没有导出功能,但这个真实可用,刚刚用它恢复了一个2g左右的mdf。
描述了将mdf,ldf文件导入sql server的步骤,可以解决数据库链接的问题
一个用看查看SQL SERVER数据库MDF文件页的简单程序。需要将SQL SERVER服务停止,方可打开MDF文件。
只有mdf文件,如何修复数据库(sql server 2005) 修复sql2005数据库
6、、系统崩溃只剩下Sqlserver数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复。 7、SqlServer数据文件内部存在坏页情况下的恢复。 8、在Sql Server运行在简单日志模式、完全日志模式或者大容量...
SQL Server 2005 数据库恢复:讲解了多种数据库的数据恢复方法
造成mdf文件过大的原因
Java+sql server实现的教师管理系统源代码+mdf文件-数据库课程设计。Java+sql server实现的教师管理系统源代码+mdf文件-数据库课程设计。
一个mdf数据库文件样例,来自sqlserver2012版本,此数据库文件可以在vs2015中打开、编辑,并可以单独脱离数据库使用
1.支持SQL server 数据库文件批量附加 2.需要在装有SQL server 的电脑上运行 3.使用系统管理员来登录电脑,系统使用windows集成身份验证 4.选中目录,点自动搜素,可以搜索目录和子目录下所有mdf文件 5.对不附加的,...
MDF文件修复大师是一款SQLSERver数据文件删除恢复的专用工具,它可以从磁盘扫描删除的SQL数据文件碎片,并把它们组合成一个完整的MDF。 一般情况下,SQL数据文件大且在磁盘上不连续存放,这是很多一般的数据恢复软件...