你目前正处于脱机状态,正在等待 Internet 重新连接

823 的错误消息可能表明硬件问题或在 SQL Server 中的系统问题

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 828339
症状
如果您收到下面的错误消息,则可能表明它读取或写入到数据库文件时,Microsoft SQL Server 2000年具有检测硬件或系统出现问题:
错误 823
I/O 错误错误1> 内检测到操作1> 偏移量偏移量1> 在文件 '文件>'

注意:错误消息的格式是在 Microsoft SQL Server 2005年及更高版本略有不同。但是,相同的概念和讨论也适用于这些版本也。有关疑难解答的 SQL Server 2005 及更高版本中的此问题,请查阅下面的知识库

2015755: 如何解决 SQL Server 中的 Msg 823 错误

有关此消息的各个部分如错误1> 和操作1>,并且由 SQL Server 2000年的 Microsoft Windows API 调用的使用的详细信息,请参阅本文的"更多信息"部分。
解决方案
SQL Server 2000年将引发如果以下情况属实,在本文的"症状"部分中提到的错误:
  • 操作系统错误: A 读取 Windows API 调用或 writeWindows API 调用不成功,并且 SQL Server 遇到操作系统错误相关的 Windows API 调用。下面的 errormessage 是一种错误 823 的操作系统:
    2003-07-28 09:01:27.38 spid75 错误: 823,严重程度: 24 日
    状态: 2
    2003-07-28 09:01:27.38 spid75 I/O 错误 1117年 (requestcould 由于执行 I/O 设备错误。) 期间读取 atoffset 0x0000002d460000 文件中检测到 e:\program SQLServer\mssql\data\mydb 数值。MDF
    除操作系统错误 6 ("句柄是否无效"),操作系统错误报告的 823errors 很可能会与潜在的系统问题或硬件问题。如果发生操作系统错误,即使 DBCC CHECKDB 语句处报告的问题,您可能需要使用您的硬件供应商联系,systemadministrator 或 Microsoft 产品支持服务,若要解决 thisproblem。

    注意: 可能或可能无法看到该错误消息中的文件与相关联的数据库上的 DBCC CHECKDB 语句中的错误。当看到 823 错误时,您可以进行 DBCC CHECKDB 语句。如果 DBCC CHECKDBstatement 不会报告任何错误,您可能有间歇性的 systemproblem 或磁盘问题。
  • I/O 逻辑检查失败: 如果读取 Windows API 调用或 awrite 的数据库文件的 Windows API 调用成功,但具体的数据的 logicalchecks 是不成功 (残缺页,例如,引发 823 错误。下面的错误消息是一种错误 823 i / Ological 检查失败:
    2003-09-05 16:51:18.90 spid17Error: 823,严重程度: 24 日
    状态: 2
    2003-09-05 16:51:18.90 spid17 I / Oerror (残缺页) 在读取过程中检测到的偏移量在 file'F:\SQLData\mydb 0x00000094004000。MDF。.
    若要解决此问题,请首先与 errormessage 中的文件关联的数据库上运行的 DBCCCHECKDB 语句。如果 DBCC CHECKDB 语句报告错误,请更正这些 errorsbefore,解决此问题。如果问题仍然存在,即使 theDBCC CHECKDB 错误已经得到纠正,或者如果 DBCC CHECKDB 语句处报告任何错误,请查看 Microsoft Windows NT 系统事件日志中的 anysystem 错误或与磁盘有关的错误。您还可以与您的硬件 vendorto,运行任何适当的诊断程序。
更多信息

错误消息的详细信息

下面的 823 错误消息的组成部分这里更详细地说明:
错误 823
I/O 错误错误1> 内检测到操作1> 偏移量偏移量1> 在文件 '文件>'
823 错误消息信息可以做出详细解释:
  • 错误1>: 它可以是 anoperating 系统错误或逻辑的 I/O 检查失败。操作系统的 systemerror 的操作系统错误号遵循"I/O 错误"。Theoperating 系统错误的文本被括在括号中后"I/O 错误错误号."

    逻辑的 I/O checkfailure,失败消息是在括号内并可为您执行以下操作之一:
    • (残缺的页): 有关残缺页的详细信息,请参阅 SQL Server 2000年联机丛书。
    • (页面错误 ID): 此消息意味着在页标题上的 pageID 不是从磁盘读取的预期的页。例如,如果 SQL Server 2000年提供了文件偏移量为 100 的逻辑页的数据库文件 1,8 KB 页的页标题 pageID 应为 1: 100。如果不是,坏页 ID 包含在逻辑 I/O 检查失败消息。
    • (不足传送的字节数): 此问题表明 Windows API 调用是否成功,但已传输的字节数是不预期。
  • <operation>: 这是读取或写入。</operation>
  • <offset>: 这是物理的字节偏移量,从该文件的开始。这个数字除以 8192 会使您受到错误逻辑 pagenumber。</offset>
  • <file>: 这是与 theI/O 问题相关联的文件,它包括其完整的物理路径。</file>

SQL Server I/O 和 Windows API

SQL Server 2000年使用标准的 Windows API 调用,如 ReadFile、 ReadFileScatter、 写文件和 WriteFileGather,其数据库文件执行 i/o 操作。当 SQL Server 2000年使用 Windows API 调用时,已经成功地打开文件或 SQL Server 2000年不会试图从其读取或向其中写入。因此,如果 Windows API 调用失败和错误的原因在于该操作系统错误 6 ("无效处理") 之外的任何内容,很可能被引发错误窗口中或由较低级别的软件组件如设备驱动程序。由于操作系统错误 6 是一个无效的句柄,如果 SQL Server 正在使用无效句柄来进行调用 Windows API 可能会出现此问题。但是,这仍可能是一个系统问题。

例如,如果您会遇到下面的错误消息中的 SQL Server 错误日志文件,SQL Server 遇到操作系统错误 2 时它使用 Windows API 调用来写入tempdb的主数据库文件:
错误: 严重 823: 24 日状态: 4
2 (系统找不到指定的文件)。 检测到 I/O 错误期间按偏移量 0x00000000284000 写在文件 'D:\Program 数值 SQL Server\MSSQL\data\tempdb.mdf
由于 SQL Server 已成功打开了该文件,并且不会收到"无效处理"错误,则可能正在低级内核软件组件如文件系统或设备驱动程序中引发的错误。此问题不表示 SQL Server 中的问题,它必须为文件系统或与该文件关联的设备驱动程序的问题进行调查。
参考
当您使用跟踪标志 818 其他诊断信息的错误 823 可能写入 SQL Server 错误日志文件。 有关此信息的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
826433 PRB: 其他 SQL Server 诊断信息来检测未报告的 I/O 问题
SQL Server 要求系统,以支持 Microsoft SQL Server Always-On 存储解决方案审查计划下所述的保证的传递到稳定的媒体。Fo有关 SQL Server 数据库引擎的输入和输出要求的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
967576 Microsoft SQL Server 数据库引擎输入/输出的要求

警告:本文已自动翻译

属性

文章 ID:828339 - 上次审阅时间:04/28/2015 21:17:00 - 修订版本: 1.0

Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 2000 Analysis Services, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Enterprise Evaluation Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Reporting Services, Microsoft SQL Server 2000 标准版

  • kbprb kbmt KB828339 KbMtzh
反馈
soft.com/ms.js">