救命啊,sql数据库损坏,大家帮帮忙 由于错误格式化了数据库所在磁盘,之后用easyrecover恢复了数据库文件,但重新导入后无法使用,请问大家有什么办法可以修复啊,急急急,在线等!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库是sql2000的,是速达3000STD的数据,可以重新附加成功,但进入软件后不能使用,在软件中使用速达自带的修复工具修复失败! 要记得DBCC CHECKDB呢。不能用是怎么个不能用,抛什么错误? 服务器: 消息 8909,级别 16,状态 1,行 1表错误: 对象 ID -2094754230,索引 ID 65527,页 ID (1:5603)。页首结构中的 PageId = (53059:-255676526)。CHECKDB 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -2094754230)' 中,该表的对象 ID 为 -2094754230)表错误: 对象 ID 0,索引 ID 0,页 ID (1:5536)。页首结构中的 PageId = (0:0)。服务器: 消息 8909,级别 16,状态 1,行 1对象 ID 657749746,索引 ID 0: 未能处理页 (1:5534)。详细信息请参阅其它错误。服务器: 消息 8928,级别 16,状态 1,行 1表错误: 对象 ID 1124232557,索引 ID 17947,页 ID (1:5785)。页首结构中的 PageId = (23661:1832283501)。服务器: 消息 8909,级别 16,状态 1,行 1表错误: 对象 ID 1658085293,索引 ID 1。未遇到页 (1:5157) 的父节点。服务器: 消息 8977,级别 16,状态 1,行 1象上面的几种错误有好多啊,5555数据库是不是完了。。 请教一下应该如何修复啊,SQL我不熟啊! DBCC CHECKDB('',REPAIR_ALLOW_DATA_LOSS )--加REPAIR_ALLOW_DATA_LOSS 选项没有做备份吗?如果有备份的话,还是从备份恢复吧。 那只能用REPAIR_ALLOW_DATA_LOSS 这个咯。。但会有数据丢失。。 /*easyrecover恢复出来的mdf和log文件还有备份吧?没有的话,把SQL停了,把文件备份一下,重启SQL。*/use mastergo--> 设置数据库单用户模式,database_name是你的数据库名字(下同)exec sp_dboption 'database_name', 'single user', 'true'go--> 尝试修复,上帝保佑。DBCC CHECKDB('database_name', REPAIR_REBUILD)go/*仅将 REPAIR 选项作为最后手段使用。若要修复错误,建议您通过备份进行还原。修复操作不会考虑表本身或表之间可能存在的任何约束。如果指定的表与一个或多个约束有关,建议您在修复操作后运行 DBCC CHECKCONSTRAINTS。-- 具体参考联机help-- SQLCenter*/--> 恢复多用户模式exec sp_dboption 'database_name', 'single user', 'false'go 先尝试 REPAIR_REBUILD,实在不行再 REPAIR_ALLOW_DATA_LOSS。 谢谢SQLCenter我先试一下,赞美上帝一定要修复成功啊!! 建议你先回复sql server的备份文件,不要再从MDF LDF下手了,因为你在格式化时破坏了他们的连接性而2000又没有SQL2008的MDF 单文件恢复功能,所以备份文件是最主要的,只要你能找到备份文件,你成功的几率就很大 数据库文件在格式化后,用普通的恢复软件是恢复不完整的,只能恢复个文件头出来。所以,你恢复的文件就是错误的,在SQL中是修复不了的,这个只能通过原硬盘,来做底层恢复。如有需要可以联系:QQ:287671378 谢谢大家的回复,数据库已经宣布死亡了,不但mdf及ldf文件损坏,备份文件也严重损坏,试过拿硬盘给数据修复中心的人看过,他们也没有办法恢复,看来的我破坏力太强了。唉!要挨批了!!!! SQL Server 如何支持对 Image 类型字段进行全文检索 update语句哪种方法效率更高点 SQL语法问题,急! 怎么随机取一条记录?有一个ID关键字 关于SQL Server 2005 查询的排序的问题,请高手指点 简单问题,立即给分,怎样用Osql 执行 *.sql文件??? 求助!zjcxc(邹建)请进 ! 请问sql server级联帮助在那里下载??再线等...... 这一天没完没了地晕,,,,,,,,,,,,, 如何查询同一个品牌在数据库里面出现的次数 请问如何输出今年所有天数? [求教]如何以空格合成两个varchar字段
不能用是怎么个不能用,抛什么错误?
表错误: 对象 ID -2094754230,索引 ID 65527,页 ID (1:5603)。页首结构中的 PageId = (53059:-255676526)。
CHECKDB 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -2094754230)' 中,该表的对象 ID 为 -2094754230)
表错误: 对象 ID 0,索引 ID 0,页 ID (1:5536)。页首结构中的 PageId = (0:0)。
服务器: 消息 8909,级别 16,状态 1,行 1
对象 ID 657749746,索引 ID 0: 未能处理页 (1:5534)。详细信息请参阅其它错误。
服务器: 消息 8928,级别 16,状态 1,行 1
表错误: 对象 ID 1124232557,索引 ID 17947,页 ID (1:5785)。页首结构中的 PageId = (23661:1832283501)。
服务器: 消息 8909,级别 16,状态 1,行 1
表错误: 对象 ID 1658085293,索引 ID 1。未遇到页 (1:5157) 的父节点。
服务器: 消息 8977,级别 16,状态 1,行 1象上面的几种错误有好多啊,5555数据库是不是完了。。
DBCC CHECKDB('',REPAIR_ALLOW_DATA_LOSS )
--加REPAIR_ALLOW_DATA_LOSS 选项没有做备份吗?如果有备份的话,还是从备份恢复吧。
但会有数据丢失。。
easyrecover恢复出来的mdf和log文件还有备份吧?
没有的话,把SQL停了,把文件备份一下,重启SQL。
*/
use master
go--> 设置数据库单用户模式,database_name是你的数据库名字(下同)
exec sp_dboption 'database_name', 'single user', 'true'
go--> 尝试修复,上帝保佑。
DBCC CHECKDB('database_name', REPAIR_REBUILD)
go
/*
仅将 REPAIR 选项作为最后手段使用。
若要修复错误,建议您通过备份进行还原。
修复操作不会考虑表本身或表之间可能存在的任何约束。如果指定的表与一个或多个约束有关,建议您在修复操作后运行 DBCC CHECKCONSTRAINTS。
-- 具体参考联机help
-- SQLCenter
*/--> 恢复多用户模式
exec sp_dboption 'database_name', 'single user', 'false'
go
我先试一下,赞美上帝一定要修复成功啊!!
建议你先回复sql server的备份文件,不要再从MDF LDF下手了,因为你在格式化时破坏了他们的连接性
而2000又没有SQL2008的MDF 单文件恢复功能,所以备份文件是最主要的,只要你能找到备份文件,你成功
的几率就很大