数据库质疑--附加问题 【急救】

金大哈 2009-09-18 11:32:36
附加报错如下:



不知各位高手有何高见


就是上午突然数据库就连接不上了,一检查发现是被质疑了,然后删除质疑库---附件源文件报错如上

网上很多错误号:823 的试了一下也不可以

这个报错是824
...全文
187 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnLinker 2009-09-18
  • 打赏
  • 举报
回复
质疑也不能删除啊。。
现在你只能再让它质疑才能再处理了。。
金大哈 2009-09-18
  • 打赏
  • 举报
回复


Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:2878261) contains an

incorrect page ID in its page header. The PageId in the page header = (0:0).
'dbcc 的时候报了N多这样的错误'
金大哈 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 haiwer 的回复:]
就是上午突然数据库就连接不上了,一检查发现是被质疑了,然后删除质疑库---附件源文件报错如上

说详细点,删除质疑库应该文件也被删除了,附件(加)源文件的文件来源是哪里的?

[/Quote]

质疑删除 源文件没有被删 ,有设置的


dlcyj 2009-09-18
  • 打赏
  • 举报
回复
楼上方法可以解决非物理损坏的824错误,报一下你的库版本,MSDN上的方法不行,我传你一个检测工具。
billpu 2009-09-18
  • 打赏
  • 举报
回复
scandisk 磁盘扫描一下 可能有逻辑坏道
--小F-- 2009-09-18
  • 打赏
  • 举报
回复
请看4楼 是一个汇总
金大哈 2009-09-18
  • 打赏
  • 举报
回复


这个 清楚一点
华夏小卒 2009-09-18
  • 打赏
  • 举报
回复
难道源文件mdf坏了?
dawugui 2009-09-18
  • 打赏
  • 举报
回复
参考:

数据库置疑的处理办法


在MS SQLSERVER中一直有这样的问题,SQLSERVER的状态"置疑",我们先来分析一下SQLSERVER数据库"置疑"的原因:
1.错误的删除日志;
2.硬件(HD)损坏,造成日志和数据文件写错误;
3.硬盘的空间不够,比如日志文件过大;


解决办法:

这是最简单的办法是有数据库的全备份,然后恢复即可.
步骤:

1. 删除原始的数据库:
USE MASTER
GO
DROP DATABASE DB_SUEPECT


2.建立同名的数据库:
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO


3.恢复数据库:
RESTORE DATABASE DB_SUSPECT
FROM DBNAME_BACKUP.DAT


4.数据库完整性检测:
DBCC CHECKDB('DB_SUSPECT')

5.重新启动MSSQLSERVER服务.

如果没有全备份,那就要用一些特殊的方法:

1.设置数据库为紧急模式
Use Master
GO
sp_configure 'allow updates', 1
reconfigure with override
GO
UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'
GO

2.停掉SQL Server服务:
NET STOP MSSQLSERVER

3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:

4.启动SQL Server服务:
NET START MSSQLSERVER

5.重新建立一个同名的数据库DB_SUSPECT;

USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO


6.设置数据库运行在单用户的模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO

7.停掉SQL服务:
NET STOP MSSQLSERVER

8.把原来的数据文件再覆盖回来:


9.启动SQL Server服务:
NET START MSSQLSERVER

10.重新设置SQLSERVER的状态:
USE MASTER
GO
EXEC sp_resetstatus "DB_SUSPECT"

11.数据库完整性检测:
DBCC CHECKDB('DB_SUSPECT')

12.恢复数据库为多用户模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO

13.恢复SQLSERVER原始的配置:
USE MATER

GO

UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'
GO

14.配置SQLSERVER不允许更新系统表:
USE MASTER
GO
sp_configure 'allow updates', 0
reconfigure with override
GO

15.重新启动MSSQLSERVER服务:

最好重新启动操作系统

16.备份数据库:

可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT
补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限.
昵称被占用了 2009-09-18
  • 打赏
  • 举报
回复
就是上午突然数据库就连接不上了,一检查发现是被质疑了,然后删除质疑库---附件源文件报错如上

说详细点,删除质疑库应该文件也被删除了,附件(加)源文件的文件来源是哪里的?
--小F-- 2009-09-18
  • 打赏
  • 举报
回复
lihan6415151528 2009-09-18
  • 打赏
  • 举报
回复
lunzi028 2009-09-18
  • 打赏
  • 举报
回复
怎么贴图的?
lihan6415151528 2009-09-18
  • 打赏
  • 举报
回复
这么保密啊!
xuejiecn 2009-09-18
  • 打赏
  • 举报
回复
好了就好!
金大哈 2009-09-18
  • 打赏
  • 举报
回复

sql 2005 + win2003


sp_configure 'allow updates', 1
reconfigure with override
--改为紧急模式
alter database dataName set emergency
--改为单用户
alter database dataName set single_user

执行以下语句检查数据库
dbcc checkdb ('dataName')

执行以下语句修复数据库:
DBCC CHECKDB('dataName',REPAIR_ALLOW_DATA_LOSS)
--改为多用户
alter database dataName set multi_user
--
alter database dataName set online





搞定 谢谢各位大侠

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧