由于系统崩溃,我电脑里的数据库日志文件忘记备份了,只备份了mdf ,现在重装了新系统。
想恢复数据库,结果恢复不了。我用的是SQLSERVER2005 请问怎么才能恢复数据库里的数据呢??
想恢复数据库,结果恢复不了。我用的是SQLSERVER2005 请问怎么才能恢复数据库里的数据呢??
解决方案 »
- 添加字段的sql语句书写
- MFC很好找
- 请教一个动态sql的问题
- exec问题
- |zyciis|两条SQL语句,他们执行的效率相差有多少,谢谢
- 我的SQL Sever 2008 R2 无法使用Windows身份验证登录
- 晕死!!!!!!!!! 装了台服务器,竞然还没我的台式机跑得快!!!!
- 存储过程的问题
- 点数不多,但绝对高难的问题:SQL Server中如何获取指定时间段内对数据库的操作语句?......在线等待
- 请问怎样下载和安装JDBC for MS SQL SERVER?那里这样的文章能介绍介绍吗?
- SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=1) --->SELECT *
- select s# from sc a where c#='1001' and exists (select* from sc where a.s#=s
http://hi.baidu.com/yimshan/blog/item/b4a315f3b5f271ca0a46e083.html
重装系统和MSSQL2005之后,现在用mdf恢复不了数据库`怎么办啊?
错误:1813网上只能找到2K的恢复教程,没找到2005的``应该怎么恢复啊??
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
然后
update sysdatabases set status = 32768 where name = '<db_name>'
现在,重新建立一个log文件(我试过但无法成功,不知高手有何方法)。
先把SQL Server 重新启动一下,然后检查你的数据库吧。
先设置成单用户模式,然后做dbcc
sp_dboption '<db_name>', 'single user', 'true'
DBCC CHECKDB('<db_name>')
把数据库状态改回去了,记得别忘了把系统表的修改选项关掉。
update sysdatabases set status = 28 where name = '<db_name>' --当然你的数据库状态可能不是这个,自己改为合适的值吧。也可以用sp_resetstatus
go
sp_configure 'allow updates', 0
reconfigure with override
如果无法成功创建日志文件,也没有关系,使用以上方法后,看是否已恢复数据库,应该能成功的。关闭SQL SERVER,然后重启,观察一下数据库状态是否正常,如果正常,一切万事大吉,如果数据库处于置疑状态。重新上面的步骤,注意将数据库名称更改为其他名字,恢复后不要关闭SQL SERVER,然后新建一个与原来数据库名称一样的数据库,然后耐心的将恢复得到的数据库中所有的表、视图、函数、存储过程(不包括系统内部的),复制到新建的数据库,要有耐心,特别要注意有相关性的表、视图、函数、存储过程等的复制先后次序,否则会复制失败的。
上面的方法是万不得已才使用的。我在恢复公司内的数据库时,最后就是采用这种方法才最后成功的。希望对你有所帮助。 我在上面已经讲过,如果重启后数据库状态为"置疑",可以重新运用你上面恢复数据库的办法,要使用其他的数据库名称,使数据库处于紧急处理状态(32768 )。然后,不要重启,新建一个数据库,名称是你原来的数据库名(linjudy)。最后,通过导入数据(在新数据库上)或导出数据(在恢复的数据库上)功能,进行两个数据库的数据复制,可以一次进行多个数据和视图的导入或导出,但要注意相关联的表或视图导入或导出的先后次序,否则会出错的。如果不知道哪些表或视图有关联,可以一部分一部分的进行,如果出错就缩小进行的范围,要有耐心。导入或导出函数和存储过程时,要选择导入或导出方法的第三项,在下一步,特别要注意不要选择相关性,否则很容易导致错误,你也应一部分一部分的进行,不要一次全部完成。我想这样一定可以解决你的问题的,这是我的亲身体验。
先新建了linjudy数据库/将sql停止后覆盖了mdf文件并删除了ldf文件再使用如下方法操作
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
update sysdatabases set status = 32768 where name = 'linjudy'
重启sql后在运行,发现linjudy数据库可以正常打开了,立即查看原有的数据有了,在新建了数据库导出所有表,成功。
重启sql后linjudy库变为"紧急状态"但可以通过“导出数据”导出数据至其它数据库。
至此数据恢复成功,数据是否可以用我没有试。
以后大家恢复时可以用"天马行空"网友的方法,并且在重启sql时可以看一下恢复库的状态如果是"紧急状态"可以通过导出数据导出至其它数据库。 转载自
http://blog.csdn.net/frankluwei/archive/2009/09/21/4576750.aspx
SQLServer数据库修复和优化
将数据库细节里面的log文件提示删除掉就可以了
你只提供mdf的时候,下面会显示两个文件选项的