教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

高分求救!误删除了表sysobjects中地数据后,怎么样恢复,有日志文件。在线等

学院最新推荐文章
教程推荐
『高分求救!误删除了表sysobjects中地数据后,怎么样恢复,有日志文件。在线等』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-28 
我对数据库AA执行了如下语句:
delete from sysobjects
go

误删除之后数据库AA状态变为置疑,后执行如下语句:
DBCC CHECKDB('AA')
go

系统提示:

服务器: 消息 906,级别 22,状态 1,行 1
未能在 sysobjects 中找到数据库 'AA' 中系统目录 'sysindexes' 所对应的行。这一系统目录应存在于所有数据库中。请对此数据库中的 sysobjects 运行 DBCC CHECKTABLE。

连接中断


数据库AA的日志文件(LDF)、数据文件(mdf)都存在,高手帮忙如何修复此数据库。多谢!在线等。

这个问题第1个回答:
up
这个问题第2个回答:
执行如下语句后:

use AA
go
declare @dbname varchar(255)
go
set @dbname='AA'
go
exec sp_dboption @dbname,'single user','true'
go
dbcc checktable('Sysobjects',REPAIR_ALLOW_DATA_LOSS)
go
dbcc checktable('Sysobjects',REPAIR_REBUILD)
go
exec sp_dboption @dbname,'single user','false'
go

系统还是提示:

服务器: 消息 906,级别 22,状态 2,行 1
未能在 sysobjects 中找到数据库 'EDC_IN' 中系统目录 'Sysobjects' 所对应的行。这一系统目录应存在于所有数据库中。请对此数据库中的 sysobjects 运行 DBCC CHECKTABLE。
ODBC: 消息 0,级别 16,状态 1
通讯链接失败

连接中断
这个问题第3个回答:
我彻底哭了,竟然没有一个高人给以指点?有没有人知道通过日志文件来恢复啊,不完全恢复,至少能恢复几个表的数据已经非常感谢了。
这个问题第4个回答:
用log explorer  undo
这个问题第5个回答:
我下载了LOG Explorer ,安装之后运行,附加日志文件时,还是提醒:

未能在 sysobjects 中找到数据库 'AA' 中系统目录 'sysindexes' 所对应的行。这一系统目录应存在于所有数据库中。请对此数据库中的 sysobjects 运行 DBCC CHECKTABLE。

我实在太痛苦了。。。。。。

我把所有分全部散出去了,四处发帖,谁能帮帮我啊?
这个问题第6个回答:
系统表默认是不允许被删除数据的。
是不是在删除之前执行了sp_configure ?

是sql2000吧,另外,有无备份呢 ?

并且,现在最好不要进行可能引发变动的操作,找到可行方案后再进行。
这个问题第7个回答:
微软既然放开口子让别人操作sysobjects表,那么他就应该有解决误删除sysobjects表数据的方法,通过SQL 内置的存储过程也许可以重建sysobjects表,只是那么多存储过程我们不知道到底哪一个是罢了。

另外补充:我就是执行了
delete from sysobjects
go
这一句,并未执行sp_configure

SQL2000企业版,无备份。
谁有类似经历,希望能给予指点,再次谢过!!

这个问题第8个回答:
你们公司愿意出费用吗?要是愿意,联系我。
这个问题第9个回答:
How much?不会超过我找微软的服务费用吧?大家既然都是在上面混的,你懂得,证明你厉害,你高手,动辄谈钱是不是有些过了。这里毕竟是大家交流的地方,不是交易买卖的地方。我相信会有高手不在乎金钱,而愿意提供一份支持的。
这个问题第10个回答:
呵呵,技术支持也是有限度的,你这个问题要是能免费帮你,也会的,可惜你的这个问题有些难度。
这个问题第11个回答:
楼上的,你把这里当作你交易的场所了?你那么想拉单,那我替你做做广告好了。


dlcyj
7 小时前

要是公司能出费用,联系我。 加我QQ,287671378

上面是所谓的高手DLCYJ给我的留言。我仔细观察了,他自始至终没有给过任何建议,哪怕是一点点最基础的东西都没有,他就是不停的在说,如果掏钱我高手就帮你解决了。
这种人!就算是我愿意掏钱,我也不会找你做,因为你连做业务最基本的道理都不懂,只肯给客户提钱,那个客户愿意跟你打交道。看来你也只是适合做技术了。
这个问题第12个回答:
你都没有搞清楚你的故障是什么,我问你公司要是能出费用,联系我,没有向你个人要钱吧。不想做,你就不联系。这有什么。

答复你的:“只肯给客户提钱,那个客户愿意跟你打交道。看来你也只是适合做技术了。”

你不是做技术的,你来这里做什么。你在贬低技术的同时,也是在贬低自己。
这个问题第13个回答:
不要讨论这些问题了.有做过的,提点建议和意见,能顺手帮忙的,就帮个忙就是了,都是出来混的!
楼主的问题总结下:
1、数据库AA的日志文件(LDF)、数据文件(mdf)都存在
2、sysobjects被删除了,没有备份;
3、数据库已经破坏,启不来
这个问题第14个回答:
楼主:什么os,数据文件在哪个盘?
这个问题第15个回答:
帮您找了篇字资料,看看是否有帮助:

http://www.net0791.com/article/135954.htm

通过 dbcc 修复下数据库


--------------------------------------------------------------------------------


备份数据文件,然后按下面的步骤处理:

1.新建一个同名的数据库(数据文件与原来的要一致)

2.再停掉sql server(注意不要分离数据库)

3.用原数据库的数据文件覆盖掉这个新建的数据库

4.再重启sql server

5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.


USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go

sp_dboption '置疑的数据库名', 'single user', 'true'
Go

DBCC CHECKDB('置疑的数据库名')
Go

update sysdatabases set status =28 where name='置疑的数据库名'
Go

sp_configure 'allow updates', 0 reconfigure with override
Go

sp_dboption '置疑的数据库名', 'single user', 'false'
Go


--------------------------------------------------------------------------------


你可以使用只有mdf的数据文件进行恢复操作,然后再进行dbcc检查。(假设数据库为test,路径为'C:\Program Files\Microsoft SQL Server\MSSQL\data下)
@@只有mdf文件的恢复技术
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文件覆盖刚才生成

[1] [2] 下一页  

作者:Tikyliu 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光