我的Server数据库有一些问题。当我运行这个:
select * from dbo.Entity
where Oid='191FAF30-4729-4145-8106-60E34A8E164C'...it发出以下错误。
Msg 823,24级,状态2,第2行操作系统返回错误1(不正确的功能)。在读取文件'D:\Database\db.mdf‘中的偏移量0x00000021442000时,到Server。Server错误日志和系统事件日志中的附加消息可能会提供更多细节。这是一种严重的系统级错误状况,威胁到数据库的完整性,必须纠正immediately.,完成完整的数据库一致性检查(DBCC )。此错误可能是由许多因素造成的;有关详细信息,请参阅Server联机丛书。
事件日志错误与上面相同。
所以我运行了一个DBCC CHECKDB,它输出了以下错误:
CHECKDB在数据库中发现了0次分配错误和0次一致性错误--当前命令发生了严重错误。如果有任何结果,则应予以放弃。
我试过了
dbcc checktable ('Entity')但信息是:
MSG0,级别11,状态0,行0 当前command.发生严重错误,如果有结果,应该丢弃。
版本信息:
Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: )任何关于如何修复损坏的表的建议都将不胜感激!
发布于 2016-05-12 07:23:53
当在IO请求期间遇到操作系统错误时,这将被报告为823错误。仅对失败的OS IO操作错误报告823错误消息。因此,您需要检查系统事件日志中的任何磁盘或文件系统相关条目。您将需要修复磁盘或文件系统问题,否则损坏将返回。
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command.
The results, if any, should be discarded.当元数据损坏或不一致时,通常会引发此错误。
实际错误是:数据库%d的元数据不一致。无法修复此错误并阻止进一步的DBCC处理。请从备份中恢复
在大多数情况下,元数据不一致错误在试图修复损坏或恢复数据、将mdf和ldf文件复制到安全位置之前是不可弥补的。这样,如果您的恢复尝试进一步破坏数据库,您至少可以始终返回到当前状态。
您可以尝试几个选项: 1.从备份恢复。2.手动提取尽可能多的数据,创建新表,将数据导入新表,删除损坏的表,将新表重命名为损坏的表名。3.运行DBCC REPAIR_ALLOW_DATA_LOSS。<--这可能无法工作4.购买昂贵的第三方应用程序来恢复数据。
只要没有备份损坏的数据库,只有备份的还原才能正常工作。
https://dba.stackexchange.com/questions/138078
复制相似问题