修复SQL2000数据库置疑时出现的错误

在执行最后一步dbcc checkdb(dbname)检查完整性上出的错

服务器:消息8946,级别16,状态12,行2

表错误:分配页(1:461016)的PFS_PAGE页首结构值无效。类型为 0。请检 查该页上的类型、对象ID和页ID。

服务器:消息7995,级别16,状态1,行1

数据库'dbname' 在 sysobjects 、sysindexes、syscolumns 或 systypes 中 存在一致性错误,妨碍了进一步的CHECKDB处理。

DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。

提问者:风之辟尘-三级最佳答案备份数据文件,然后按下面的步骤处理:

新建一个同名的数据库(数据文件与原来的要一致)

再停掉sql server(注意不要分离数据库)

用原数据库的数据文件覆盖掉这个新建的数据库

再重启 sql server

此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改 其中的数据库名)

完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问

题,解决办法是,利用

数据库的脚本创建一个新的数据库,并将数据导进去就行了 .

USE MASTER

GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE

GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑 的数据库名’

Go

sp dboption '置疑的数据库名','single user', 'true'

Go

DBCC CHECKDB('置疑的数据库名')

Go

update sysdatabases set status =28 where n ame='置疑的

数据库名’

Go

sp_c on figure 'allow updates', 0 rec on figure with overr

de

Go

sp_dboption '置疑的数据库名','single user', 'false

假设数据库为TEST

按以下步骤执行

A ?设置数据库允许直接操作系统表。此操作可以在

SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择

“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。

也可以使用如下语句来实现。

use master

go

sp_c on figure 'allow updates',1

go

rec on figure with override

go

B ?设置test为紧急修复模式

update sysdatabases set status=-32768 where dbid=DB_ID('

test')

此时可以在SQL Server Enterprise Manager里面看到该数据库处于

“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表

C ?下面执行真正的恢复操作,重建数据库日志文件

dbcc rebuild」og('test','C:\Program Files\Microsoft SQL Se rver\MSSQL\Data\test_log.ldf)

执行过程中,如果遇到下列提示信息:

服务器: 消息5030,级别16,状态1,行1

未能排它地锁定数据库以执行该操作。

DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用

SQLServerEnterpriseManager打开了 test库的系统表,那么退出

SQLServerEn terpriseMan ager就可以了。

正确执行完成的提示应该类似于:

警告: 数据库'test'的日志已重建。已失去事务的一致性。应运

行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可 能需要删除多余的日志文件。

DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。

此时打开在SQL Server Enterprise Manager里面会看到数据库的状

态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

D ?验证数据库一致性(可省略)

dbcc checkdb('test')

一般执行结果如下:

CHECKDB发现了 0个分配错误和 0个一致性错误(在数据

库'test'中)。

DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。

E ?设置数据库为正常状态

sp_dbopti on 'test','db

服务器消息7995,修复sql2000数据库置疑时出现的错误.docx相关推荐

  1. sql2000数据库置疑造成的原因以及如何解决置疑

    sql2000数据库置疑造成的原因以及如何解决置疑 参考文章: (1)sql2000数据库置疑造成的原因以及如何解决置疑 (2)https://www.cnblogs.com/www123----/p ...

  2. sql2000数据库置疑

    sqlserver附加数据库错误823的解决方案 一.SQL-Server附加数据库时失败. 1.异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有" ...

  3. linux oracle 03113,Oracle数据库关闭时出现ORA-03113错误

    Oracle数据库关闭时,出现ORA-03113错误: SQL> shutdown immediate ORA-03113: end-of-file on communication chann ...

  4. oracle数据库关闭失败,Oracle数据库关闭时出现ORA-03113错误

    Oracle数据库关闭时,出现ORA-03113错误: SQLgt; shutdown immediateORA-03113: end-of-file on communication channel ...

  5. django添加mysql数据库_Django添加mysql数据库关联时出现的错误

    添加关联时出现的错误1 PS C:\Users\Administrator\Desktop\04作业\day4> python manage.py makemigrations Tracebac ...

  6. linux 网站获取数据失败,AnyBackup-Linux 环境下 Sybase 授权数据库实例时,提示错误:获取实例失败...

    关键字 授权.Sybase.数据源 适用产品 AnyBackup CDM 7.0.x AnyBackup Express 7.0.x 问题描述 在 AnyBackup 管理控制台上,对 Sybase ...

  7. linux的android工作室,Android工作室在启动时抛出错误,linux机器

    我只是将我的Android Studio从1.5升级到2.3,我只是解压缩文件夹并复制到下载文件夹中,现在当我启动android studio时,我收到了此消息:Android工作室在启动时抛出错误, ...

  8. sqlserver日志文件在哪_用友SQL SERVER数据库置疑修复实例

    数据库置疑修复实例 方法1: 企业管理器能够正常分离附加时: 第一步:先把数据库服务停止客户数据SQL SERVER服务停止把软件安装所在目录的账套数据复制一份,以避免操作不当造成的数据丢失. 小提示 ...

  9. Sql server 2005与2008 数据库置疑修复

    SQL2005和SQL2008数据库可疑状态处理,类似于SQL2000的置疑处理 USE MASTER GO//将数据库设成紧急模式 SP_CONFIGURE 'ALLOW UPDATES',1 RE ...

最新文章

  1. 【 FPGA/IC 】常考加法器总结
  2. 有关;;;的基础小节
  3. VTK:绘图之SurfacePlot
  4. C# 对程序窗口进程和进程ID
  5. Oracle 中国研发中心裁员已成定局,云时代下一个是谁?
  6. 如何修改Myeclipse中代码的字体大小?
  7. mysql中递增列_如何使用JDBC在MySQL中创建带有自动递增列的表?
  8. uefi legacy linux知乎,【U盘工具】制作纯净万能“便携系统+pe维护”双系统U盘——UEFI与Legacy双启动...
  9. SMCJ6.0CA TVS二极管应用领域(瞬态抑制二极管)
  10. 【USACO】Team Tic Tac Toe(C题)
  11. JTAG/C2 接口定义
  12. 养殖环控程序 三菱plc可以带物联网模块,7寸触摸屏程序
  13. 一个女留学生在美国的七年(转载)
  14. Mac无法识别硬盘解决办法
  15. 女生选择了计算机专业能做什么工作?其实有这 5 种,前景很好
  16. 深度学习入门-基于python的理论与实现(五)误差反向传播法
  17. 《创新思维设计》自学报告#2 | 设计思维的特征
  18. 新氧用数据化作为分析 帮助用户甄选医美机构
  19. win10无法登陆到你的账户
  20. 安装IMail需要注意的几个问题

热门文章

  1. 数据挖掘过程模型研究
  2. calico的CrashLoopBackOff 解决办法
  3. 灵动微MM32W无线MCU系列蓝牙自拍杆应用方案
  4. 字节跳动青训营--前端day2
  5. 【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )
  6. 网赚里的骗局防不胜防,网赚新骗局你中招了吗
  7. 【ROS读书笔记】--- 7.参数(parameters)
  8. 个人做SEO怎么赚钱,个人做SEO赚钱的几种方法
  9. C++T神游戏合集2
  10. 【matplotlib】 findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.