SQL2005数据库置疑处理

2005中遇到置疑、丢失日志时按照网上常见的MSSQL2000修复方法来做,
结果发现行不通,甚至连一步都做不下去。其实,在MSSQL2005在处理置疑问题的思
路与MSSQL2000是一致的,但具体到一些语句上MSSQL2005 有了很大的变动。我们以
一个被误删日志文件的数据库为例:
1.MSSQL2000在日志被误删除后会提示置疑(suspect),而在MSSQL2005中却没有特
殊标志,但图标前的”+”不见了当你查询数据库属性时会有Error:945提示:

2.顺着老思路,首先我们想到先进入紧急模式:
MSSQL2000进入紧急模式:
Use
Master
Go
sp_configure ‘allow updates‘,
1
reconfigure with override
Go
update sysdatabases set status = 32768 where
name = ‘dbname‘
MSSQL2005进入紧急模式的方法简单了
alter database dbname set
emergency

3.重建日志文件
MSSQL2000使用DBCC
REBUILD_LOG。
在MSSQL2005中没有了DBCC
REBUILD_LOG
可MSSQL2005中是使用dbcc
checkdb(‘dbname‘,REPAIR_ALLOW_DATA_LOSS)。

当然要想使用dbcc checkdb我们得进入单用户模式:
sp_dboption ‘dbname‘, ‘single
user‘,‘true‘

alter database dbname set
single_user(推荐使用后者)

4.再运行dbcc
checkdb看看是否有损坏的页
5.恢复多用户模式
sp_dboption ‘dbname‘, ‘single
user‘,‘false‘

alter database dbname set
multi_user(推荐使用后者)

6.恢复非紧急模式
alter database dbname set
online

总结:

2005数据库当出现置疑时,可以通过以下语句来解决:

Use Master
Go
sp_configure ‘allow updates‘,
1
reconfigure with
override
Go

alter
database dbname set emergency

go

alter database dbname set
single_user

go

dbcc
checkdb(‘dbname‘,REPAIR_ALLOW_DATA_LOSS)

go

alter database dbname set
multi_user

go

alter
database dbname set online

go

SQL2005数据库置疑处理

时间: 2024-10-13 10:11:30

SQL2005数据库置疑处理的相关文章

SQL2005断电重启数据库置疑修复成功案例

SQL2005数据库,服务器突然断电,重新启动服务器后, 数据库变为"置疑"数据库无法附加失败"修复成功案例 深圳某生产型企业三月底电话咨询我们 SQL SERVER 2005数据库,在正常使用过程中,服务器突然断电,重新启动服务器后,数据库变为"置疑",数据库无法附加. 客户在数据库在正常读写操作过程中,服务器突然断电,导致数据库无法把所有缓冲中的数据写入到数据库文件中, 所以会使数据内部索引及数据区损坏. 1.首先使用我们公司自主开发的"无日

SQL SERVER 2000数据库置疑处理

由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下: 产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库文件都不存在了,则要另当处理. 1.停止数据库服务器,将数据库MDF文件和LDF文件复制备份一份 2.启动数据库服务器,删除置疑的数据库 3.仅用备份的数据库MDF文件附加数据库,sp_attach_db或者sp_attach_single_file_db可以附加数据库,出现类似下面的提示信息: 设

mssql2000数据库置疑解决

1.新建一个同名的数据库2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTERGO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH

SQL2005数据库删除表恢复

数据库类型         SQL2005 数据库 数据库文件3G     故障原因:8.19号删除了表 然后新建了表  又从新录入了一些数据,使用之后才发现需要的数据丢失了!! 处理过程: 先从原始MDF分析得到 被删除表的分配信息.,MDF文件本身收缩了导致恢复效果不理想..MDF恢复效果不是很好! 第二步就要考虑从日志文件入手了,使用自己写的工具数据库日志提取工具按照得到的被删除表分配信息扫描LDF 提取出1100多条记录.最后插入后得到1347条,经过客户确认,结果完美OK. {还有个小

数据库置疑问题解决

资料一 1.停止数据库server,将数据库MDF文件和LDF文件复制备份一份2.启动数据库server,删除置疑的数据库3.仅用备份的数据库MDF文件附加数据库,sp_attach_db或者sp_attach_single_file_db能够附加数据库,出现相似以下的提示信息:设备激活错误.物理文件名称 'C:/Program Files/Microsoft SQL Server/MSSQL/data/myDb_Log.LDF' 可能有误.已创建名为 'C:/Program Files/Mic

SQLSERVER数据库置疑、可疑、脱机、单用户、紧急模式等的修复

数据库出现置疑.可疑.脱机.单用户.紧急模式主要是因为数据库的日志文件除了问题,2000和2008修复方式不一样,2008的修复脚本在2000中不适用,主要是不被2000识别. 假设数据库名为:eisdoc: sqlserver2000数据库置疑的处理方式: 1.设置数据库允许直接操作系统表. 此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中. 2.设置eisdoc为紧急修

数据库置疑解决办法

方法一:数据库恢复 日志文件错误处理数据库 : MSSQL SERVER 2000   企业版 问题描述: 数据库置疑.数据库备份文件损坏.将数据库物理文件(*.MDF)拷贝出来 ,使用数据库附加功能,附加失败. 提示错误: 服务器: 消息 1813,级别 16,状态 2,行 1 未能打开新数据库 'test'.CREATE DATABASE 将终止. 设备激活错误.物理文件名 'd:\test_log.LDF' 可能有误. 进查找相关资料 解决方案如下: A.我们使用默认方式建立一个供恢复使用

数据库置疑处理文档

数据库置疑处理文档 修订记录 日期 Date 修订版本 Revision Version 修改描述 Change Description 作者 Author 2010-04-26 1.0 格式化 UltraSQL 目 录     一. 知识点简介     1.    DBCC 中的 CHECKDB 命令     2.    重置置疑状态     3.    sp_add_log_file_recover_suspect_db    4.    DBCC 中的 DBRECOVER 命令     二

sql数据库恢复 文件丢失误删除 误格式化置疑报错修复 数据库置疑修复总结/SQL SERVER 2000/2005/2008/2008R2

数据库置疑的原因会有多种多样,不同的问题采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤. 数据库置疑是指数据库内部处于不一致的状态,很有可能会有数据丢失.我们推荐您从做数据库备份之前,检查过DBCC  CHECKDB没有错误,备份的数据库没有更改.    1.首先确认已经备份了.mdf和.ldf文件. 2. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务. 3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件