今天重启了服务器居然发现数据库质疑。当时真的很急,因为开了竞价站,那么如何解决这个问题呢?

数据库质疑一般是因为据库的日志文件是损坏了。

那么如何解决这个问题呢?

第一、因为我的之前备份了数据库,直接把之前的数据库删除若报错,关闭现有链接。然后重建数据库利用文件进行还原。

若直接还原报错,请参考这篇文章利用SQL语句进行还原http://www.51mubanji.com/sjk/SQL/29.html

第二、若您的mdf文件是当前数据库产生的,也许使用sp_attach_db或者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文件覆盖刚才生成的数据库数据文件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 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在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

方法很全面把,利用51模板集给您提供的方法应该是可以解决数据库质疑的相关问题

本文来自: 51模板集(www.51mubanji.com) 详细出处参考:http://www.51mubanji.com/sjk/SQL/191.html

SQL数据库质疑怎么解决呢?相关推荐

  1. sql数据库质疑恢复办法

    A.我们使用默认方式建立一个供恢复使用的数据库(如test).可以在SQL Server Enterprise Manager    里面建立. B.停掉数据库服务器. C.将刚才生成的数据库的日志文 ...

  2. SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法

    SQL Server 2008还原数据库时出现"备份集中的数据库备份与现有的数据库不同"的解决方法 参考文章: (1)SQL Server 2008还原数据库时出现"备份 ...

  3. SQL数据库常见故障及解决方法

    SQL数据库常见故障及解决方法 参考文章: (1)SQL数据库常见故障及解决方法 (2)https://www.cnblogs.com/chenduzizhong/p/8990334.html 备忘一 ...

  4. 引起SQL数据库超时的问题分析及解决办法

    1.由于数据库设计问题造成SQL数据库新增数据时超时 症状:   Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL S ...

  5. sqlserver服务启动失败_条码打印软件连接SQL数据库出现TCP连接失败解决办法

    小编今天用条码打印软件连接SQL 数据库遇到了一个问题:通过端口1433连接到主机localhost的TCP/IP连接失败.错误:"Connection refused:connect.请验 ...

  6. phpcms解决(sql数据库数据与页面显示结果)调用的栏目数据条数不一致问题 - 总结篇

    phpcms解决(sql数据库数据与页面显示结果)调用的栏目数据条数不一致问题 - 总结篇 调用phpcms(栏目数据条数)数据量 - 总结篇 phpcms统计不准确?栏目文章更新,统计的数据与后台数 ...

  7. SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题

    SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 参考文章: (1)SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 (2)https: ...

  8. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)

    利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...

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

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

最新文章

  1. 《数学之美》第26章 维特比和他的维特比算法
  2. 科学家利用脑机接口让患者正常发声
  3. 基于opencV的动态背景下运动目标检测及跟踪(修改版)
  4. 查看linux的系统位数
  5. HTML-通知公告Tips
  6. 排他网关(ExclusiveGateWay)
  7. 批量引号_RcoketMQ 批量发送和消息过滤
  8. 挖掘城市ip_抖in杭州嘉年华,原来城市营销还能这么玩!
  9. ibm java英语面试_IBMJava英文面试题(附参考答案)
  10. shiro、cas、pac4j 实现单点登陆
  11. STM32F103使用DAC功能输出三角波
  12. 使用注册表文件(REG)添加、修改或删除windows注册表项和值
  13. 计算机开启宏功能吗,如何在excel2016正式版中启用/设置宏功能?
  14. 支付宝对账单CSV解析
  15. 思科VPLS解决方案
  16. UVALive - 4636 Cubist Artwork——思维
  17. 计算机丢失opencv_world300.dll文件
  18. 【无标题】虚拟机上火狐浏览器无法访问百度 怎么破?
  19. 微信跳一跳刷分代码剖析
  20. bigemap批量添加第三方在线地图浏览

热门文章

  1. 2020起重机司机(限桥式起重机)作业考试题库及起重机司机(限桥式起重机)实操考试视频
  2. 移动端自动化工具概述
  3. 90、生产的火灾危险性分类
  4. 2.基于51单片机的蓝牙遥控器制作
  5. 干货秘籍:网易游戏《率土之滨》原画设计师分享创作设计经验
  6. css实现垂直方向上的居中方式
  7. IDEA输入字母间距变大报红处理方法
  8. 使用Git时,Failed to connect to github.com port 443 after 21100 ms: Timed out
  9. Discuz! Q 1.0来了!
  10. STM32F103C8T6引脚功能图