可是在SQL中却无法挂载,我用16进制编辑软件查看MDF文件,发现有开始和结尾的数据是错误的,只有中间一部分是正确的.
请问我还能恢复吗?在线等待.
要是恢复不了我就惨了啊....
16 个解决方案
#1
用log explorer for sqlserver从.ldf文件中恢复
前提是你记录了日志
前提是你记录了日志
#2
文件都删了,虽然用EasyRecovery恢复了可是文件已经有损坏,所以是无法恢复了
log explorer 可以恢复数据,但不能恢复数据库文件
log explorer 可以恢复数据,但不能恢复数据库文件
#3
日志是LDF文件吗?
#4
ldf是EasyRecovery恢复的,可能也有错误
#5
示例
下面的示例将 pubs 中的两个文件附加到当前服务器。
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
#6
你可以尝试用finaldata这个软件吧误删除的mdf和log文件找回来,
如果你mdf文件删除后,mdf文件所在的那个盘没有再拷贝文件过去,那么你吧finaldata软件安装导另外一个盘,这样你有90%的可能性找回你的mdf文件,如果mdf文件所在的那个盘再mdf文件删除后有有文件变更操作,比如在那个盘里面拷过去了其它文件,就有可能把删除的mdf文件破坏,这样找回mdf文件的可能性就大大降低了
如果你mdf文件删除后,mdf文件所在的那个盘没有再拷贝文件过去,那么你吧finaldata软件安装导另外一个盘,这样你有90%的可能性找回你的mdf文件,如果mdf文件所在的那个盘再mdf文件删除后有有文件变更操作,比如在那个盘里面拷过去了其它文件,就有可能把删除的mdf文件破坏,这样找回mdf文件的可能性就大大降低了
#7
不好意思,误会楼主的意思了.
2楼是对的
2楼是对的
#8
看来你的情况很严重,你可以使用一下的方法试着把mdf,log附加到数据库中,
之后问题就好解决了
--只有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文件是当前数据库产生的,那么很侥幸,也许你使用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
#9
log explorer 可以恢复数据
#10
先用下面的工具恢复被删除掉的数据库文件(*.mdf,*.ldf)
**************************************************************************
特别注意,任何对磁盘的操作,包括安装软件,都可能破坏已经删除的文件,导致文件恢复失败.
所以建议你在另一台电脑上安装上述文件恢复工具.
并将你的硬盘挂到该电脑上进行文件恢复.
**************************************************************************
=============================================================
文件恢复工具
EasyRecovery
下载: http://www.skycn.com/soft/13950.html
优秀的数据恢复工具,可把受到病毒破坏、格式化、删除的硬盘数据抢救回来!
6.0版本使用新的数据恢复引擎,并且能够对ZIP文件以及微软的Office系列
文档进行修复!6.0中还包含了Ontrack Data Advisor!其他更新请看软件
自带的Readme
FinalData NT Standard 1.5
FinalData 可以回收在 Windows NT/2000/XP 中被误删的文件。
它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。
它能找回其他类似工具所找不到的,安全,快速,专业
Acronis RecoveryExpert 2003
下载: http://www.91now.com/downsky/soft/7175.htm
Acronis RecoveryExpert是一个数据恢复软件,它功能强大,甚至可以恢复已经删除的
硬盘分区!如果你的系统已经损坏,软件支持你通过能启动的光碟开机来进行数据恢复。
它可以让你免受由于其他软件的错误,病毒的破坏甚至于黑客的工具所带来的数据损失。 再用下面的方法附加数据库:
企业管理器
--右键"数据库"
--所有任务
--附加数据库
--选择你的.mdf文件名
--确定
--如果提示没有.ldf文件,是否创建,选择"是"
查询分析器中的方法:
--有数据文件及日志文件的情况
sp_attach_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
,'日志文件名(*.ldf注意要带目录)' --后面可以是用,分隔的该数据库的多个日志文件
--如果只有数据文件的情况
sp_attach_single_file_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
再用下面的方法附加数据库:
这方法是zjcxc(邹建)原创
**************************************************************************
特别注意,任何对磁盘的操作,包括安装软件,都可能破坏已经删除的文件,导致文件恢复失败.
所以建议你在另一台电脑上安装上述文件恢复工具.
并将你的硬盘挂到该电脑上进行文件恢复.
**************************************************************************
=============================================================
文件恢复工具
EasyRecovery
下载: http://www.skycn.com/soft/13950.html
优秀的数据恢复工具,可把受到病毒破坏、格式化、删除的硬盘数据抢救回来!
6.0版本使用新的数据恢复引擎,并且能够对ZIP文件以及微软的Office系列
文档进行修复!6.0中还包含了Ontrack Data Advisor!其他更新请看软件
自带的Readme
FinalData NT Standard 1.5
FinalData 可以回收在 Windows NT/2000/XP 中被误删的文件。
它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。
它能找回其他类似工具所找不到的,安全,快速,专业
Acronis RecoveryExpert 2003
下载: http://www.91now.com/downsky/soft/7175.htm
Acronis RecoveryExpert是一个数据恢复软件,它功能强大,甚至可以恢复已经删除的
硬盘分区!如果你的系统已经损坏,软件支持你通过能启动的光碟开机来进行数据恢复。
它可以让你免受由于其他软件的错误,病毒的破坏甚至于黑客的工具所带来的数据损失。 再用下面的方法附加数据库:
企业管理器
--右键"数据库"
--所有任务
--附加数据库
--选择你的.mdf文件名
--确定
--如果提示没有.ldf文件,是否创建,选择"是"
查询分析器中的方法:
--有数据文件及日志文件的情况
sp_attach_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
,'日志文件名(*.ldf注意要带目录)' --后面可以是用,分隔的该数据库的多个日志文件
--如果只有数据文件的情况
sp_attach_single_file_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
再用下面的方法附加数据库:
这方法是zjcxc(邹建)原创
#11
同情LZ的处境。叹息一声,如果有个备份就好了....
等我那天连备份都没得玩的时候再仔细研究一下抢救吧。
留个记号。
等我那天连备份都没得玩的时候再仔细研究一下抢救吧。
留个记号。
#12
如果是文件被删除,在没有做其他文件复制/删除/移动等操作的情况下,可以利用一些反删除工具来恢复,例如2楼所说的工具
在恢复的文件中选择与数据库同名的mdf/ldf文件,将其恢复后附加即可
如果未对硬盘做过操作,应该恢复功能的可能性很大!!
在恢复的文件中选择与数据库同名的mdf/ldf文件,将其恢复后附加即可
如果未对硬盘做过操作,应该恢复功能的可能性很大!!
#13
删除以后我确实没有做任何操作
可是用EasyRecovery恢复的文件无法挂载
提示不是有效的SQL文件
用16进制编辑软件打开MDF和LDF看
发现开头和结尾的数据不正确
可是用EasyRecovery恢复的文件无法挂载
提示不是有效的SQL文件
用16进制编辑软件打开MDF和LDF看
发现开头和结尾的数据不正确
#14
FinalData OEM v2.0.CN.rar
R-Studio_v2.0.rar
数据恢复大师.exe
-------
恢复附加(曾用2G数据库测试没有问题,楼主用以上软件恢复试试),
R-Studio_v2.0.rar
数据恢复大师.exe
-------
恢复附加(曾用2G数据库测试没有问题,楼主用以上软件恢复试试),
#15
要是恢复 出来的文件已经损坏那是没戏了呀
#16
给你一个教训,要记得做备份
#1
用log explorer for sqlserver从.ldf文件中恢复
前提是你记录了日志
前提是你记录了日志
#2
文件都删了,虽然用EasyRecovery恢复了可是文件已经有损坏,所以是无法恢复了
log explorer 可以恢复数据,但不能恢复数据库文件
log explorer 可以恢复数据,但不能恢复数据库文件
#3
日志是LDF文件吗?
#4
ldf是EasyRecovery恢复的,可能也有错误
#5
示例
下面的示例将 pubs 中的两个文件附加到当前服务器。
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
#6
你可以尝试用finaldata这个软件吧误删除的mdf和log文件找回来,
如果你mdf文件删除后,mdf文件所在的那个盘没有再拷贝文件过去,那么你吧finaldata软件安装导另外一个盘,这样你有90%的可能性找回你的mdf文件,如果mdf文件所在的那个盘再mdf文件删除后有有文件变更操作,比如在那个盘里面拷过去了其它文件,就有可能把删除的mdf文件破坏,这样找回mdf文件的可能性就大大降低了
如果你mdf文件删除后,mdf文件所在的那个盘没有再拷贝文件过去,那么你吧finaldata软件安装导另外一个盘,这样你有90%的可能性找回你的mdf文件,如果mdf文件所在的那个盘再mdf文件删除后有有文件变更操作,比如在那个盘里面拷过去了其它文件,就有可能把删除的mdf文件破坏,这样找回mdf文件的可能性就大大降低了
#7
不好意思,误会楼主的意思了.
2楼是对的
2楼是对的
#8
看来你的情况很严重,你可以使用一下的方法试着把mdf,log附加到数据库中,
之后问题就好解决了
--只有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文件是当前数据库产生的,那么很侥幸,也许你使用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
#9
log explorer 可以恢复数据
#10
先用下面的工具恢复被删除掉的数据库文件(*.mdf,*.ldf)
**************************************************************************
特别注意,任何对磁盘的操作,包括安装软件,都可能破坏已经删除的文件,导致文件恢复失败.
所以建议你在另一台电脑上安装上述文件恢复工具.
并将你的硬盘挂到该电脑上进行文件恢复.
**************************************************************************
=============================================================
文件恢复工具
EasyRecovery
下载: http://www.skycn.com/soft/13950.html
优秀的数据恢复工具,可把受到病毒破坏、格式化、删除的硬盘数据抢救回来!
6.0版本使用新的数据恢复引擎,并且能够对ZIP文件以及微软的Office系列
文档进行修复!6.0中还包含了Ontrack Data Advisor!其他更新请看软件
自带的Readme
FinalData NT Standard 1.5
FinalData 可以回收在 Windows NT/2000/XP 中被误删的文件。
它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。
它能找回其他类似工具所找不到的,安全,快速,专业
Acronis RecoveryExpert 2003
下载: http://www.91now.com/downsky/soft/7175.htm
Acronis RecoveryExpert是一个数据恢复软件,它功能强大,甚至可以恢复已经删除的
硬盘分区!如果你的系统已经损坏,软件支持你通过能启动的光碟开机来进行数据恢复。
它可以让你免受由于其他软件的错误,病毒的破坏甚至于黑客的工具所带来的数据损失。 再用下面的方法附加数据库:
企业管理器
--右键"数据库"
--所有任务
--附加数据库
--选择你的.mdf文件名
--确定
--如果提示没有.ldf文件,是否创建,选择"是"
查询分析器中的方法:
--有数据文件及日志文件的情况
sp_attach_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
,'日志文件名(*.ldf注意要带目录)' --后面可以是用,分隔的该数据库的多个日志文件
--如果只有数据文件的情况
sp_attach_single_file_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
再用下面的方法附加数据库:
这方法是zjcxc(邹建)原创
**************************************************************************
特别注意,任何对磁盘的操作,包括安装软件,都可能破坏已经删除的文件,导致文件恢复失败.
所以建议你在另一台电脑上安装上述文件恢复工具.
并将你的硬盘挂到该电脑上进行文件恢复.
**************************************************************************
=============================================================
文件恢复工具
EasyRecovery
下载: http://www.skycn.com/soft/13950.html
优秀的数据恢复工具,可把受到病毒破坏、格式化、删除的硬盘数据抢救回来!
6.0版本使用新的数据恢复引擎,并且能够对ZIP文件以及微软的Office系列
文档进行修复!6.0中还包含了Ontrack Data Advisor!其他更新请看软件
自带的Readme
FinalData NT Standard 1.5
FinalData 可以回收在 Windows NT/2000/XP 中被误删的文件。
它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。
它能找回其他类似工具所找不到的,安全,快速,专业
Acronis RecoveryExpert 2003
下载: http://www.91now.com/downsky/soft/7175.htm
Acronis RecoveryExpert是一个数据恢复软件,它功能强大,甚至可以恢复已经删除的
硬盘分区!如果你的系统已经损坏,软件支持你通过能启动的光碟开机来进行数据恢复。
它可以让你免受由于其他软件的错误,病毒的破坏甚至于黑客的工具所带来的数据损失。 再用下面的方法附加数据库:
企业管理器
--右键"数据库"
--所有任务
--附加数据库
--选择你的.mdf文件名
--确定
--如果提示没有.ldf文件,是否创建,选择"是"
查询分析器中的方法:
--有数据文件及日志文件的情况
sp_attach_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
,'日志文件名(*.ldf注意要带目录)' --后面可以是用,分隔的该数据库的多个日志文件
--如果只有数据文件的情况
sp_attach_single_file_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
再用下面的方法附加数据库:
这方法是zjcxc(邹建)原创
#11
同情LZ的处境。叹息一声,如果有个备份就好了....
等我那天连备份都没得玩的时候再仔细研究一下抢救吧。
留个记号。
等我那天连备份都没得玩的时候再仔细研究一下抢救吧。
留个记号。
#12
如果是文件被删除,在没有做其他文件复制/删除/移动等操作的情况下,可以利用一些反删除工具来恢复,例如2楼所说的工具
在恢复的文件中选择与数据库同名的mdf/ldf文件,将其恢复后附加即可
如果未对硬盘做过操作,应该恢复功能的可能性很大!!
在恢复的文件中选择与数据库同名的mdf/ldf文件,将其恢复后附加即可
如果未对硬盘做过操作,应该恢复功能的可能性很大!!
#13
删除以后我确实没有做任何操作
可是用EasyRecovery恢复的文件无法挂载
提示不是有效的SQL文件
用16进制编辑软件打开MDF和LDF看
发现开头和结尾的数据不正确
可是用EasyRecovery恢复的文件无法挂载
提示不是有效的SQL文件
用16进制编辑软件打开MDF和LDF看
发现开头和结尾的数据不正确
#14
FinalData OEM v2.0.CN.rar
R-Studio_v2.0.rar
数据恢复大师.exe
-------
恢复附加(曾用2G数据库测试没有问题,楼主用以上软件恢复试试),
R-Studio_v2.0.rar
数据恢复大师.exe
-------
恢复附加(曾用2G数据库测试没有问题,楼主用以上软件恢复试试),
#15
要是恢复 出来的文件已经损坏那是没戏了呀
#16
给你一个教训,要记得做备份