SELECT A.CO,A.ITEMNO,(CASE WHEN A.MASTERJOB = '''' THEN A.JOBNO ELSE A.MASTERJOB END),
A.MRNO,A.MASTERJOB,A.JOBNO,
A.LOC,A.CODE,A.BDESC,A.QTY,A.UNIT,A.TDATE,A.P_CODE,H.DE,H.WFHT,
C.LOTNO,C.QTY
FROM MRT AS A LEFT OUTER JOIN MAINMR AS B ON A.MRNO=B.MRNO LEFT OUTER JOIN MRUDF AS H ON A.MRNO=H.MRNO
left outer join MRTLOT AS C ON (C.MRNO=A.MRNO AND C.CODE=A.CODE AND C.P_CODE=A.P_CODE AND
C.JOBNO=A.JOBNO )WHERE 1=1
AND H.DE=N'生一部' AND B.DOCTYPE='B' AND A.TDATE BETWEEN '2012-2-29' AND '2012-3-30'查询后出现消息 824,级别 24,状态 2,第 1 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7a2d4b4a,但实际为: 0x7d0a6b4a)。在文件 'D:\sql2005\MSSQL.1\MSSQL\data\kji_D.mdf' 中、偏移量为 0x00000473a90000 的位置对数据库 ID 5 中的页 (1:2334024) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
A.MRNO,A.MASTERJOB,A.JOBNO,
A.LOC,A.CODE,A.BDESC,A.QTY,A.UNIT,A.TDATE,A.P_CODE,H.DE,H.WFHT,
C.LOTNO,C.QTY
FROM MRT AS A LEFT OUTER JOIN MAINMR AS B ON A.MRNO=B.MRNO LEFT OUTER JOIN MRUDF AS H ON A.MRNO=H.MRNO
left outer join MRTLOT AS C ON (C.MRNO=A.MRNO AND C.CODE=A.CODE AND C.P_CODE=A.P_CODE AND
C.JOBNO=A.JOBNO ) WHERE 1=1
AND H.DE=N'生一部' AND B.DOCTYPE='B' AND convert(varchar(10),A.TDATE,120) BETWEEN '2012-02-29' AND '2012-03-30'
消息 824,级别 24,状态 2,第 28 行SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7a2d4b4a,但实际为:
0x7d0a6b4a)。在文件 'D:\sql2005\MSSQL.1\MSSQL\data\kji_D.mdf' 中、偏移量为
0x00000473a90000 的位置对数据库 ID 5 中的页 (1:2334024) 执行 读取 期间,发生了该错误。SQL
Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错
误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有
关详细信息,请参阅 SQL Server 联机丛书。
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE dbName SET EMERGENCY
GO
sp_dboption 'dbName', 'single user', 'true'
GO
DBCC CHECKDB('dbName','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE dbName SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'dbName', 'single user', 'false'
GO
先执行dbcc checkdb([数据库名],REPAIR_REBUILD)尝试修复.
若无法修复,找最近的备份文件单独恢复此#2334024的页面.
我查到了。。是这个表MAINMR
那么我怎么修复呢??
先运行
将数据库该为单用户模式:ALTER DATABASE [mydb] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
接着执行
DBCC CHECKTABLE('mytable')--修复你的表
最后将数据库改为多用户模式:
ALTER DATABASE [mydb] SET MULTI_USER WITH ROLLBACK IMMEDIATE