VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之如何解决 SQL Server 中的错误消息

症状


如果在读取或写入数据库页后的逻辑一致性检查失败,可能会遇到下面的错误消息的 SQL Server 错误日志或 Windows 应用程序事件日志中:
 
2009-11-02 15:46:42.90 spid51错误: 824,严重程度: 24 日状态: 2。
2009-11-02 15:46:42.90 spid51 SQL Server 检测到逻辑一致性基于 I/O 错误: 不正确的 pageid (预期的 1:43686; 实际的 0:0)。读取页 (1:43686) 的期间发生在 0x0000001554c000 文件中的偏移量的数据库 ID 23 ' H:\MSSQL。SQL2008\MSSQL\DATA\my_db.mdf。在 SQL Server 错误日志或系统事件日志中的其他消息可以提供更多详细信息。这是一个严重错误条件将威胁到数据库的完整性,必须立即纠正。填写完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能导致由许多的因素;有关详细信息,请参阅 SQL Server 联机丛书。
 
如果查询或修改数据,向应用程序返回的错误消息和数据库连接终止时,应用程序遇到此消息。

原因


  • 对其执行 I/O 操作的数据库文件
  • 文件 I/O 操作试图带的偏移量
  • 此文件所属的数据库
  • 在 I/O 操作中涉及页码
  • 读取或写入操作的操作
  • 有关逻辑一致性检查失败 [检查、 实际值和预期值用于此检查的类型] 的详细信息
SQL Server 使用 Windows API 的 [例如 ReadFile、 写文件,ReadFileScatter,WriteFileGather] 执行 I/O 操作。之后执行这些 I/O 操作时,SQL Server 会检查任何与这些 API 调用相关联的错误情况。如果这些 API 调用失败并出现操作系统错误,SQL Server 将报告错误 823。可以在 Windows API 调用实际成功但 I/O 操作传送的数据可能遇到了逻辑一致性问题的情况。通过错误 824 报告这些逻辑一致性问题。
 
824 错误包含以下信息:
 
这些逻辑一致性检查是由 SQL Server,以确保通过 I/O 操作维护某些主要方面涉及在数据传输中的数据执行附加的完整性检查。检查包括校验和,破损页、 短传输、 坏页 Id、 读取过时、 页审核失败。执行检查的性质取决于数据库和服务器级别不同的配置选项。
 
824 错误消息通常表示没有与底层的存储系统或硬件的 I/O 请求的路径中的驱动程序有问题。在文件系统中有不一致的情况时,或者如果数据库文件已损坏,可能会遇到此错误。

解决方案


  • 查看 msdb 检查其他 [在同一个或多个不同数据库] 页面如果遇到此问题的suspect_pages表。
  • 检查位于同一个卷 [作为一个 824 消息中报告] 使用数据库的一致性 DBCC CHECKDB 命令。如果您发现从 DBCC CHECKDB 命令的不一致,请使用知识库文章如何解决报告的 DBCC CHECKDB 数据库一致性错误的指导。
  • 如果遇到这些 824 错误的数据库没有 PAGE_VERIFY 校验和的数据库选项处于打开状态,请立即。824 错误发生的校验和失败比其他原因但校验和提供最佳选项验证页的一致性后已写入到磁盘。
  • 检查 Windows 事件日志中的任何错误或从操作系统或存储设备或设备驱动程序报告的消息。如果此错误以某种方式与它们,请首先解决这些错误。例如,除了 824 消息,您可能还注意到一个事件如"驱动程序检测到在 \Device\Harddisk4\DR4 上的控制器错误"报告的事件日志中的磁盘源。在这种情况下,您必须评估如果在此设备上存在此文件,然后首先更正这些磁盘错误。
  • 使用SQLIOSim实用程序找出这些 824 错误是否可以重现超出常规 SQL Server I/O 请求。请注意 SQLIOSim 配有 SQL Server 2008年中,因此不需要单独下载此版本或更高版本。
  • 使用您的硬件供应商或设备制造商,以确保:
    • 硬件设备和配置SQL Server 的 I/O 要求确认
    • 将更新的设备驱动程序和 I/O 路径中的所有设备的其它支持软件组件
  • 如果硬件供应商或设备制造商为您提供任何诊断实用程序,请使用它们来评估 I/O 系统的运行状况
  • 如果筛选器驱动程序遇到问题这些 I/O 请求的路径中存在,计算。
    • 检查是否有任何更新这些筛选器驱动程序
    • 可这些筛选器驱动程序被删除或禁用观察 824 错误会导致该问题将消失
  • 应用以下修补程序,根据:


相关教程