A log range read failed verification because of a range checksum mismatch.

A_log_range_read_failed_verification_because_of_a_range_checksum_mismatch (Rule)

Knowledge Base article:

Summary

A checksum in a transaction log file failed verification. This error is similar to error 1018 in a database file, and indicates the log file has been damaged in the file system.

Related Events:

Causes

This issue can occur if the log mentioned in the Event has become corrupted. Exchange cannot repair damage to log files because of factors other than torn writes, which will be fixed automatically by the ESE. Hardware failures that randomly damage a log file cannot be overcome because the obliterated data cannot be reliably reconstructed. ESE event 477 indicates damage that cannot be repaired.

Error 501 = 0xfffffe0b = Jet_errLog fileCorrupt = Log file corrupt. An error 1022 is returned from corrupting the header of a log file. Corrupting other areas of the log file returns a 501 Jet_errLog fileCorrupt error. You may not be able to mount an Exchange store database due to the corrupted log file because the database has become inconsistent.

Error 612 = 0xfffffd9c = Jet_errLogReadVerifyFailure = Checksum error in log file during backup. This indicates a corrupt transaction log file. A backup cannot be made of a corrupt log file and the backup will fail. A checksum Jet error indicates a hardware root cause and is caused by hardware, controller, or file system-level problems related to hardware. You may not be able to successfully perform an online backup of an Exchange store database.

Error 573 = 0xfffffdc3 = Jet_errLogCorruptDuringHardRestore = Corruption was detected in a backup set during hard restore. You may not able to successfully complete an online restore of an Exchange store database due to a corrupted transaction log in the restore set.

Resolutions

This problem cannot be repaired. The log file cannot be used.

External

For more information about ESE event 477, see:

Element properties:

TargetMicrosoft.Exchange.Databases
CategoryEventCollection
EnabledTrue
Event_ID477
Event SourceESE
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
A log range read failed verification because of a range checksum mismatch.
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
EventDS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="A_log_range_read_failed_verification_because_of_a_range_checksum_mismatch" Enabled="onEssentialMonitoring" Target="Exch2003Core!Microsoft.Exchange.Databases" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="EventDS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Application</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>477</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>ESE</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner>$Data/PublisherName$</AlertOwner>
<AlertMessageId>$MPElement[Name="A_log_range_read_failed_verification_because_of_a_range_checksum_mismatch.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>