在sql server 2000中经常会遇到数据库置疑,我想问下怎么解决置疑恢复问题。不是用备份还原的那些

尽量用鼠标点,不是用sql语句,具体点。... 尽量用鼠标点,不是用sql语句,具体点。 展开
 我来答
昨夜清风似剪刀
2011-09-28
知道答主
回答量:10
采纳率:0%
帮助的人:14.7万
展开全部
首先数据库置疑是复杂的,原因有多种一般是因为数据文件损坏,硬盘或者有坏道,或者是因为数据字典内容损坏,日志损坏等,必须要有针对性的恢复。最简单的就是日志文件损坏的恢复,可以通过重新创建日志的方法恢复。要是其他问题,还没有备份的话就必须建一个空数据库,用sqlseever的命令和sql将数据迁入新库中(即使这样,也未必能保证不丢失数据),像你说的通过鼠标点一下的操作就将数据库恢复的方法现在还没有!!
1 数据库属性,设置中,允许对系统目录直接修改(Allow modifications to be made directly to the system catalogs) 选中
2 update sysdatabases set status=32768 where name='数据库名称'
这条语句执行之后就可以对数据库进行读取了!!!!
3 进入查询分析器 创建一个新数据库
4 在质疑数据库中 运行下面语句
select 'select * into 新数据名称..'+rtrim(name)+' from '+name from
sysobjects where xtype='u' order by name
5 将第四步运行结果复制到新数据库中执行!!!
这个方法是可以解决大部分数据库置疑问题的!
光承泽0a
2011-10-07 · TA获得超过142个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:123万
展开全部
曾经多次遇到过这种问题,也曾经使用过多种方法,但是都无效,只是我们备份及时,没有数据丢失,直接还原的备份好的数据库!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-08
展开全部
USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='local'
Go

sp_dboption 'local', 'single user', 'true'
Go

DBCC CHECKDB('local')
Go

update sysdatabases set status =28 where name='local'
Go

sp_configure 'allow updates', 0 reconfigure with override
Go

sp_dboption 'local', 'single user', 'false'
Go

dbcc rebuild_log('local','k:\local.ldf')

参考资料: www.sql120.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式