本文提供有关事件 ID 640 的一些信息。
适用于: 所有受支持的 Windows Server 和 Windows 客户端版本原始 KB 数: 4577004
现象
应用程序日志列出了许多在 Windows 10、Windows Server 2019 和 Windows Server 2016 中指定事件 ID 640 的 ESENT 事件。
原因
事件 ID 640 指示可扩展存储引擎 (ESE) 检测到数据库文件及其刷新映射文件未同步。 这种情况很少出现。 它由以下条件之一引起:
- 数据库已移动,但并非所有必需的文件都与数据库一起移动。
- 承载刷新映射标头的扇区已损坏。 这种情况非常罕见。
- 已删除现有 ESE 数据库,然后重新创建,但未删除或重新创建其刷新映射文件。 当应用程序将数据从一个 ESE 数据库迁移到另一个 ESE 数据库,并且应用程序无法正确清理时,通常会发生这种差异。 在 Windows 升级期间或不久之后,此类迁移可能更频繁。 创建新数据库后,系统会检测旧的刷新映射文件。 该文件未与新数据库同步。 在此方案中,新数据库中的数据没有风险。 条件是良性的。
Status
将来的 Windows 版本应包括一项更改,防止系统在良性情况下记录事件 ID 640。
确定事件 ID 640 的原因
若要确定事件 ID 640 的原因,请检查“...事件数据中的 FromDb“字段,并考虑以下情况:
- 所有这些字段或其中一些字段未初始化,因此,值为零。 在这种情况下,事件 ID 640 是由创建新数据库引起的。 这是一个良性的情况。 无需采取任何操作即可缓解此问题。
- 所有“...FromDb“字段具有非零值。 在这种情况下,应调查问题。
“...“FromDb”字段在事件日志条目的以下示例中以粗体显示:
services (836,D,35) 刷新映射文件“Drive>:<Path><FileName.jfm>”<上的错误 -1919 验证头页。 刷新映射文件将失效。 其他信息:[SignDbHdrFromDb:Create time:00/00/1900 00:00:00.000 Rand:0 Computer:] [SignFmHdrFromDb:Create time:00/00/19 00 00:00:00.000 Rand:0 Computer:] [SignDbHdrFromFm:Create time:<DateTime Rand:559408839 Computer:] [SignFmHdrFromFm:Create time:<DateTime>> Rand:4291821429 Computer:]
注意
在此示例中, <Drive>:<Path><FileName> 表示刷新映射文件的实际路径和名称。
关于事件 ID 636
如果 Windows 在良性情况下记录事件 ID 640,则也可能记录事件 ID 636。 在这种情况下,还可以忽略事件 ID 636。