sql2000 数据库置疑解决
引用博客地址: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 数据库置疑解决相关推荐
- sql2000数据库置疑造成的原因以及如何解决置疑
sql2000数据库置疑造成的原因以及如何解决置疑 参考文章: (1)sql2000数据库置疑造成的原因以及如何解决置疑 (2)https://www.cnblogs.com/www123----/p ...
- 服务器消息7995,修复sql2000数据库置疑时出现的错误.docx
修复SQL2000数据库置疑时出现的错误 在执行最后一步dbcc checkdb(dbname)检查完整性上出的错 服务器:消息8946,级别16,状态12,行2 表错误:分配页(1:461016)的 ...
- sql2000数据库置疑
sqlserver附加数据库错误823的解决方案 一.SQL-Server附加数据库时失败. 1.异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有" ...
- SQL server 2000及SQL server 2005 数据库置疑解决办法
以数据库mpcyerp为例,做对数据库置疑的处理方法说明: 一.将mpcyerp_Data.MDF文件拷贝出来并备份 在企业管理器中建立一个同名的新数据库mpcyerp 二.停止SQL Server服 ...
- MSDB数据库置疑状态的解决方法
转自:百度文库 问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补? 解决方法一:你可以采用以下的代码进行修复: USE MASTER ...
- 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 ...
- 转贴 :sql数据库置疑:Sql Server数据库置疑的解决
sql数据库置疑:Sql Server数据库置疑的解决 办法 原因: 通常这个问题是由于硬盘空间不够或硬盘读写错误造成的. 现象: 数据库后面有"置疑"字样,查看系统事务日记出现以 ...
- SQL2000数据库中删除“坏表”的方法
SQL2000数据库中删除"坏表"的方法 在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发 ...
- SQL SERVER数据库置疑后恢复步骤
--SQL SERVER数据库置疑后恢复步骤 --1. 恢复步骤: --a.将smlog_log.ldf文件备份到其它目录下: --b.将源目录下的smlog_log.ldf文件改名 ...
- oracle sysobject,SQL2000数据库提示未能读取并闩锁页 sysobjects 失败数据库修复
SQL2000数据库提示未能读取并闩锁页 sysobjects 失败数据库修复 哈尔滨海月数据恢复中心为哈尔滨某速达用户成功解决SQLServer2000数据库DBCC检测提示"未能读取并闩 ...
最新文章
- NeurIPS 2019 | 17篇论文,详解图的机器学习趋势
- 骨干云池服务器SATA盘的RAID配置,标准互联 美国CN2云池服务器即将开售,欢迎新老客户选购 - Pesyun.com 公告与通知...
- 95后程序员晒出工资单:狠补了这个,真香…
- 解决win7 64位无法进入debug的问题
- winform listview 设置选中项 图片_实战PyQt5: 069-MV框架中的项视图拖放功能
- Jquery实现自动生成二级目录
- 音乐计算机怎么用,如何利用电脑录制自己的歌曲(音乐)
- Java描述设计模式(19):模板方法模式
- node html5,html5前端入门教程分享:Node.Js 框架
- LeetCode第12题 整数转罗马数字
- 跟我一起学QT11:Address Book的编写
- MySQL 锁(行锁、表锁、页锁、乐观锁、悲观锁等)
- is_file() 和 is_dir()注意事项
- spring cloud alibaba全家桶之nacos
- C语言-B树(B-树)的完整实现
- 透明这种颜色的html,透明颜色HTML5帆布
- 项目:私“图”定制——利用ffmpeg制作Gif
- mac 苹果电脑升级系统后蓝牙耳机只有一边有声音 苹果电脑连接耳机音质不好 苹果电脑浏览网页音视频嘈杂
- Dockerfile+elasticsearch7.12.1(配置密码及证书)+kibana7.12.1+cerebro0.83搭建集群
- 软件项目的测试计划和报告,如何撰写压力测试计划书与压力测试报告(一)
热门文章
- 树莓派微型计算机教程,简单易用的树莓派平板 带你快速入门计算机编程
- 简谈触摸板程序的实现(一)
- ASCII码字符对照表
- 凌复华:冯·诺依曼在量子力学领域的贡献
- rose 生产java代码m_rose 生成代码
- Arduino教程六—DS1302时钟模块
- DS3231时钟模块使用,IIC协议实践。(基于STM32)
- 高通modem启动过程_使用QXDM收集高通modem日志
- 解决《Python源码剖析》扫描版PDF字体模糊问题
- 2014年12月1日 量产U+B+高端隐藏 UD(U深)三分区和分区表项,支持bios/uefi启动