A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。
D.启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F.设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。[brown]
说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。
正确执行完成的提示应该类似于:
警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。
H.验证数据库一致性(可省略)
dbcc checkdb('test')
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
I.设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
J.最后,我们需要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,同时也可以使用下面的语句来完成。
sp_configure 'allow updates',0
go
reconfigure with override
go

转载于:https://blog.51cto.com/speediness/2090823

U8 8.9 数据库置疑恢复方法相关推荐

  1. mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍

    数据库可以说是一个数据仓库,因此在数据安全方面,每个数据库从备份到恢复,都有自己的一套方法流程.今天我们就从常见的MySQL, SQL以及Oracle三种数据库,来讲讲数据库恢复方法. 首先,最简单的 ...

  2. SQL Server 2000中数据库质疑的恢复方法

    原帖地址:http://topic.csdn.net/u/20081224/15/8058b7e7-9ae9-4951-aca2-2009f54b24e1.html,是有人问的问题,现在把回答总结一下 ...

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

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

  4. MSSQL Server 数据库可疑、置疑修复方法

    经常碰到客户的数据库由于操作不当,比如未关机断电,或者病毒恶意软件等造成的数据库损坏,使得系统宕机,生产暂停,造成巨大的影响与损失,下面分享一个修复方法. 备注:数据库修复方法不能保证数据不丢失,如果 ...

  5. .mdf数据库恢复mysql_SQL恢复master数据库方法 只有mdf文件的数据库如何恢复

    首先先和大家讲一讲SQL Server恢复master数据库方法,具体步骤如下 第一步:复制model.mdf.mastlog.ldf.model.mdf.modellog.ldf.msdbdata. ...

  6. centos mysql压缩文件直接恢复_Centos下mysql数据库备份与恢复的方法

    一.mysqldump工具备份 mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具.支持基于InnoDB的热备份.但由于是逻辑备份,所以速度不是很快,适合备份 ...

  7. mysql 归档日志恢复_Oracle丢失归档日志文件的数据库恢复方法

    使用案例描述:ORDTAB表空间的一个数据文件ordtab03.dbf毁坏,其包含很多ORDERS表的分区,数据文件热备于July 4, 2004,July 4 丢失归档日志文件的数据库恢复方法,从一 ...

  8. linux 误删除mysql表能恢复吗_linux rm误删除数据库文件的恢复方法

    1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total 2153164 -rw-r----- 1 oracle dba 8536064 Nov 27 21 ...

  9. Oracle补历史数据存储过程,Oracle数据库数据丢失恢复的几种方法总结

    根据oracle数据库的特点和提供的工具,主要方法有以下几种方法: 利用逻辑备份使用import工具丢失数据的表 利用物理备份来通过还原数据文件并进行不完全恢复 利用dbms_logmnr包从redo ...

  10. mysql数据库断电恢复_MySQL数据库InnoDB引擎下服务器断电数据恢复方法

    说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时 ...

最新文章

  1. PostgreSQL_row_number() over()_应用实例
  2. ML之LiR:使用线性回归LiR回归模型在披萨数据集上拟合(train)、价格回归预测(test)
  3. 【micropython】用python来进行BadUSB的USB-HID测试(含无线控制)
  4. 用于从文件读取/写入字符串的新JDK 11文件方法
  5. 6. OD-去除收费软件次数限制,去除退出软件时弹出的广告(比如可执行5次)
  6. 无源波分和彩光模块_【光电通信】无源波分在 5G 场景中 的应用分析
  7. java版 高斯过程_高斯过程scikit-learn - 异常
  8. 鸟哥的linux网络基础,鸟哥的 Linux 私房菜 -- 基础网络概念.pdf
  9. python爬虫实战万年历
  10. BCH分叉影响深远 业内外热议不断
  11. PE文件学习系列二 DOS头分析
  12. 输出所有3位数的水仙花数,例:153=1的3次方+5的3次方+3的3次方 谭浩强《c语言程序设计》第五章第八题
  13. A cost-effective recommender system for taxi drivers
  14. 千粉缔造760w播放!B站“新人”UP主在B站怎么加速上位?
  15. 怎么用计算机算出出生日期,算农历出生日期计算器,根据出生日期怎么算年龄?...
  16. Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)
  17. kafka中文教程(一)
  18. item_get - 根据ID获取拼多多商品详情
  19. 在cadence中使用VerilogA
  20. 视频流中实时人脸检测

热门文章

  1. jitsi-meet react 框架改造
  2. Java编程笔记17:I/O
  3. python atan_Python atan或atan2,我应该使用什么?
  4. 自然语言处理NLP基础知识
  5. mysql emoy表情_emo表情包 - emo微信表情包 - emoQQ表情包 - 发表情 fabiaoqing.com
  6. 微信小程序实现简单下拉加载更多
  7. 三极管:NPN和PNP
  8. 计算机的奇迹英语作文,高中英语作文范文:奇迹
  9. 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三_zzjlzx-ChinaUnix博客...
  10. LWC 71: 780. Reaching Points