SQL数据库质疑怎么解决呢?
今天重启了服务器居然发现数据库质疑。当时真的很急,因为开了竞价站,那么如何解决这个问题呢?
数据库质疑一般是因为据库的日志文件是损坏了。
那么如何解决这个问题呢?
第一、因为我的之前备份了数据库,直接把之前的数据库删除若报错,关闭现有链接。然后重建数据库利用文件进行还原。
若直接还原报错,请参考这篇文章利用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数据库质疑怎么解决呢?相关推荐
- sql数据库质疑恢复办法
A.我们使用默认方式建立一个供恢复使用的数据库(如test).可以在SQL Server Enterprise Manager 里面建立. B.停掉数据库服务器. C.将刚才生成的数据库的日志文 ...
- SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法
SQL Server 2008还原数据库时出现"备份集中的数据库备份与现有的数据库不同"的解决方法 参考文章: (1)SQL Server 2008还原数据库时出现"备份 ...
- SQL数据库常见故障及解决方法
SQL数据库常见故障及解决方法 参考文章: (1)SQL数据库常见故障及解决方法 (2)https://www.cnblogs.com/chenduzizhong/p/8990334.html 备忘一 ...
- 引起SQL数据库超时的问题分析及解决办法
1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL S ...
- sqlserver服务启动失败_条码打印软件连接SQL数据库出现TCP连接失败解决办法
小编今天用条码打印软件连接SQL 数据库遇到了一个问题:通过端口1433连接到主机localhost的TCP/IP连接失败.错误:"Connection refused:connect.请验 ...
- phpcms解决(sql数据库数据与页面显示结果)调用的栏目数据条数不一致问题 - 总结篇
phpcms解决(sql数据库数据与页面显示结果)调用的栏目数据条数不一致问题 - 总结篇 调用phpcms(栏目数据条数)数据量 - 总结篇 phpcms统计不准确?栏目文章更新,统计的数据与后台数 ...
- SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题
SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 参考文章: (1)SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 (2)https: ...
- 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)
利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...
- 转贴 :sql数据库置疑:Sql Server数据库置疑的解决
sql数据库置疑:Sql Server数据库置疑的解决 办法 原因: 通常这个问题是由于硬盘空间不够或硬盘读写错误造成的. 现象: 数据库后面有"置疑"字样,查看系统事务日记出现以 ...
最新文章
- 《数学之美》第26章 维特比和他的维特比算法
- 科学家利用脑机接口让患者正常发声
- 基于opencV的动态背景下运动目标检测及跟踪(修改版)
- 查看linux的系统位数
- HTML-通知公告Tips
- 排他网关(ExclusiveGateWay)
- 批量引号_RcoketMQ 批量发送和消息过滤
- 挖掘城市ip_抖in杭州嘉年华,原来城市营销还能这么玩!
- ibm java英语面试_IBMJava英文面试题(附参考答案)
- shiro、cas、pac4j 实现单点登陆
- STM32F103使用DAC功能输出三角波
- 使用注册表文件(REG)添加、修改或删除windows注册表项和值
- 计算机开启宏功能吗,如何在excel2016正式版中启用/设置宏功能?
- 支付宝对账单CSV解析
- 思科VPLS解决方案
- UVALive - 4636 Cubist Artwork——思维
- 计算机丢失opencv_world300.dll文件
- 【无标题】虚拟机上火狐浏览器无法访问百度 怎么破?
- 微信跳一跳刷分代码剖析
- bigemap批量添加第三方在线地图浏览
热门文章
- 2020起重机司机(限桥式起重机)作业考试题库及起重机司机(限桥式起重机)实操考试视频
- 移动端自动化工具概述
- 90、生产的火灾危险性分类
- 2.基于51单片机的蓝牙遥控器制作
- 干货秘籍:网易游戏《率土之滨》原画设计师分享创作设计经验
- css实现垂直方向上的居中方式
- IDEA输入字母间距变大报红处理方法
- 使用Git时,Failed to connect to github.com port 443 after 21100 ms: Timed out
- Discuz! Q 1.0来了!
- STM32F103C8T6引脚功能图