引用博客地址:http://blog.sina.com.cn/s/blog_5814f4470100d1cy.html

sql代码如下:

use master

go

sp_configure 'allow updates',1 reconfigurewith override

go

update sysdatabases set status=32768 wherename='hydee'

go

sp_dboption 'hydee','single user','true'

go

dbcc checkdb('hydee')--此步可以省略

go

update sysdatabases set status=28 wherename='hydee'

go

sp_configure 'allow updates',0 reconfigurewith override

go

sp_dboption 'hydee','single user','false'

go

--数据库处于回避恢复模式,是因为没有日志。如下处理

update sysdatabases set status=-32768 wherename='hydee'

go

dbccrebuild_log('hydee','D:\HydeeData\hydee_Data.LDF')

go

update sysdatabases set status=28 wherename='hydee'

go

sp_configure 'allow updates',0 reconfigurewith override

go

sp_dboption 'hydee','single user','false'

go

网页的资料如下:

解决由于sql2000日志文件引起的“置疑”。

日志有错误--------重新附加提示日志有错误。

日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。

步骤:

一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。

二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。

三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。

四、停止数据库服务器。

五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

六、启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

七、设置数据库允许直接操作系统表。此操作可以在企业管理器(SQL Server Enterprise Manager)里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use master  
  go  
  sp_configure  'allow updates',1  
  go    
  reconfigure with override  
  go

八、设置test为紧急修复模式 。 
  update sysdatabases set status=-32768 where dbid=DB_ID('test')   
此时可以在企业管理器(SQL Server Enterprise Manager)里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。

九、下面执行真正的恢复操作,用dbcc rebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来)。   
  dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

执行过程中,如果遇到下列提示信息:  
  服务器: 消息 5030,级别 16,状态 1,行 1  
  未能排它地锁定数据库以执行该操作。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在八步骤中使用企业管理器打开了test库的系统表,那么退出企业管理器就可以了。  
  正确执行完成的提示应该类似于:  
  警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行   DBCC   CHECKDB   以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。  
  此时打开在企业管理器里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

十、验证数据库一致性。(次步骤可省略)
  dbcc checkdb('test')  
  一般执行结果如下:  
  CHECKDB  发现了 0 个分配错误和 0 个一致性错误(在数据库 'test'中)。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

十一、设置数据库为正常状态  
  sp_dboption 'test','dbo use only','false'
  如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

十二、最后一步,我们要将步骤七中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在企业管理器里面恢复,也可以使用如下语句完成  
  sp_configure 'allow updates',0  
  go    
  reconfigure with override  
  go

对于只有.mdf文件的sql2000数据库恢复,从第三步开始做就行了。

sql2000 数据库置疑解决相关推荐

  1. sql2000数据库置疑造成的原因以及如何解决置疑

    sql2000数据库置疑造成的原因以及如何解决置疑 参考文章: (1)sql2000数据库置疑造成的原因以及如何解决置疑 (2)https://www.cnblogs.com/www123----/p ...

  2. 服务器消息7995,修复sql2000数据库置疑时出现的错误.docx

    修复SQL2000数据库置疑时出现的错误 在执行最后一步dbcc checkdb(dbname)检查完整性上出的错 服务器:消息8946,级别16,状态12,行2 表错误:分配页(1:461016)的 ...

  3. sql2000数据库置疑

    sqlserver附加数据库错误823的解决方案 一.SQL-Server附加数据库时失败. 1.异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有" ...

  4. SQL server 2000及SQL server 2005 数据库置疑解决办法

    以数据库mpcyerp为例,做对数据库置疑的处理方法说明: 一.将mpcyerp_Data.MDF文件拷贝出来并备份 在企业管理器中建立一个同名的新数据库mpcyerp 二.停止SQL Server服 ...

  5. MSDB数据库置疑状态的解决方法

    转自:百度文库 问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补? 解决方法一:你可以采用以下的代码进行修复: USE MASTER ...

  6. SQL2000数据库附加失败提示:crosoft SQL-DMO(ODBC SQLState:HY000) 错误 3456:未能恢复日志记录(428653:5176:89) 解决方法教程

    SQL2000数据库附加失败提示:crosoft SQL-DMO(ODBC SQLState:HY000) :错误 3456:未能恢复日志记录(428653:5176:89) ,事务ID(1:1868 ...

  7. 转贴 :sql数据库置疑:Sql Server数据库置疑的解决

    sql数据库置疑:Sql Server数据库置疑的解决 办法 原因: 通常这个问题是由于硬盘空间不够或硬盘读写错误造成的. 现象: 数据库后面有"置疑"字样,查看系统事务日记出现以 ...

  8. SQL2000数据库中删除“坏表”的方法

    SQL2000数据库中删除"坏表"的方法 在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发 ...

  9. SQL SERVER数据库置疑后恢复步骤

    --SQL SERVER数据库置疑后恢复步骤    --1. 恢复步骤:    --a.将smlog_log.ldf文件备份到其它目录下:    --b.将源目录下的smlog_log.ldf文件改名 ...

  10. oracle sysobject,SQL2000数据库提示未能读取并闩锁页 sysobjects 失败数据库修复

    SQL2000数据库提示未能读取并闩锁页 sysobjects 失败数据库修复 哈尔滨海月数据恢复中心为哈尔滨某速达用户成功解决SQLServer2000数据库DBCC检测提示"未能读取并闩 ...

最新文章

  1. NeurIPS 2019 | 17篇论文,详解图的机器学习趋势
  2. 骨干云池服务器SATA盘的RAID配置,标准互联 美国CN2云池服务器即将开售,欢迎新老客户选购 - Pesyun.com 公告与通知...
  3. 95后程序员晒出工资单:狠补了这个,真香…
  4. 解决win7 64位无法进入debug的问题
  5. winform listview 设置选中项 图片_实战PyQt5: 069-MV框架中的项视图拖放功能
  6. Jquery实现自动生成二级目录
  7. 音乐计算机怎么用,如何利用电脑录制自己的歌曲(音乐)
  8. Java描述设计模式(19):模板方法模式
  9. node html5,html5前端入门教程分享:Node.Js 框架
  10. LeetCode第12题 整数转罗马数字
  11. 跟我一起学QT11:Address Book的编写
  12. MySQL 锁(行锁、表锁、页锁、乐观锁、悲观锁等)
  13. is_file() 和 is_dir()注意事项
  14. spring cloud alibaba全家桶之nacos
  15. C语言-B树(B-树)的完整实现
  16. 透明这种颜色的html,透明颜色HTML5帆布
  17. 项目:私“图”定制——利用ffmpeg制作Gif
  18. mac 苹果电脑升级系统后蓝牙耳机只有一边有声音 苹果电脑连接耳机音质不好 苹果电脑浏览网页音视频嘈杂
  19. Dockerfile+elasticsearch7.12.1(配置密码及证书)+kibana7.12.1+cerebro0.83搭建集群
  20. 软件项目的测试计划和报告,如何撰写压力测试计划书与压力测试报告(一)

热门文章

  1. 树莓派微型计算机教程,简单易用的树莓派平板 带你快速入门计算机编程
  2. 简谈触摸板程序的实现(一)
  3. ASCII码字符对照表
  4. 凌复华:冯·诺依曼在量子力学领域的贡献
  5. rose 生产java代码m_rose 生成代码
  6. Arduino教程六—DS1302时钟模块
  7. DS3231时钟模块使用,IIC协议实践。(基于STM32)
  8. 高通modem启动过程_使用QXDM收集高通modem日志
  9. 解决《Python源码剖析》扫描版PDF字体模糊问题
  10. 2014年12月1日 量产U+B+高端隐藏 UD(U深)三分区和分区表项,支持bios/uefi启动