SQL 2008 可疑状态,数据库好像损坏了

断电,SQL 2008 可疑状态,网络很多方法都试了,

当执行到:
dbcc checkdb(jfyplm,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(jfyplm,REPAIR_REBUILD) 时出现了错误。

个人觉得数据库文件是不是已经损坏了?如果损坏了,要怎么修复,

楼主,你好!这类问题我自己没有碰到过,当然也就没有经验。我这边有一个可以参考的网址,你可以去看看,或许有所帮助。

网址1:http://www.itpub.net/thread-49776-1-1.html(这个也是断电)

网址2:http://www.itpub.net/tree/index_105_1/(这个是MSSQLServer问题的总目录)

另,附图两张。


以上希望能帮助到你。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-13
最好是重建数据库日志,具体方法如下:
--注:example为测试用数据库,相应的Example_log.ldf为测试用的日志文件
use master
go
alter database example set emergency
go
--置数据库为单用户模式
alter database example set single_user with rollback immediate
go
--重建数据库日志文件(执行这一步之前需先删除该文件夹下的相应日志,如本例所示应先删除Example_log.ldf。)
alter database example Rebuild Log on (name=Example_log,filename='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\Example_log.ldf')
go
--最后设置数据库为多用户模式。
alter database example set multi_user
go
dbcc checkdb('example')
go
use Example
go
第2个回答  2013-09-26
你的数据库文件损坏了,只能是从之前你备份的文件来恢复。追问

我之前备份还是6月份的,名称为:jfyplm201306141730.bak

请问怎么恢复?能具体讲下步骤吗?

另外:我把 jfyplm201306141730.bak 附加进去,发现逻辑名称和文件名称是这样的?

请问逻辑名称和文件名称有什么区别?

我如果要新建一个一样的数据库,名称也是按照这样写吗?

追答

只能利用bak恢复了,首先关闭所有与数据库的链接,具体操作你可以上网查一下。

选择你要恢复的数据库,右键,选择“还原数据库” ;

常规选项 里---在“还原的源” , 选择“源设备”后面的“...”按钮 , 弹出一个小窗体,点击“添加”按钮,选择要恢复的jfyplm201306141730.bak文件;

选项 中---把覆盖现有数据库选中(这里会把数据库的数据都覆盖掉,所以你的数据肯定会回到20130614那天的数据)