Index is corrupt

Microsoft.Windows.SharePoint.Services.3.0.Index_is_corrupt (Rule)


The Windows SharePoint Services Search (SPSearch) service has detected that the content index is corrupted. This can occur on either an index server or a query server. When this error occurs on an index server, the SPSearch service automatically attempts to reset and start a full update of the content index.

Knowledge Base article:

Summary

The Windows SharePoint Services Search (SPSearch) service has detected that the content index is corrupted. This can occur on either an index server or a query server. When this error occurs on an index server, the SPSearch service automatically attempts to reset and start a full update of the content index.

Causes

Resolutions

If the problem is due to hardware errors, verify the functionality of the disk storage system that contains the index and any hardware related to that disk storage system, and perform any necessary repairs.

If the problem persists, reprovision Windows SharePoint Services Search.

Reprovisioning Windows SharePoint Services Search consists of noting the content databases that are currently being indexed by the affected search server, stopping and restarting the Windows SharePoint Services Search service to delete the index files for the search server, creating a new search database, and then re-associating the search server with the content databases.

Caution: Windows SharePoint Services cannot service search queries until search is reprovisioned

Perform the following procedures to reprovision Windows SharePoint Services Search:

Note the Content Databases used by the affected search server

Delete the index files

Associate content databases with the search server

For each of the content databases that were indexed by this search server (you noted them in step 2 of the Note the Content Databases that the affected search server uses procedure above), use the following steps to re-associate the content databases with the search server:

© 2000-2007 Microsoft Corporation, all rights reserved.

Element properties:

TargetMicrosoft.Windows.SharePoint.Services.3.0.WSS.Application
CategoryEventCollection
EnabledTrue
Event_ID4138
Event SourceWindows SharePoint Services 3 Search
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Index is corrupt
Event ID {0} from Source {2} on agent computer {3} has triggered this Alert Description : {1}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
CollectData WriteAction Microsoft.SystemCenter.CollectEvent Default
DataWarehousePublishData WriteAction Microsoft.SystemCenter.DataWarehouse.PublishEventData Default
WSS.GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.SharePoint.Services.3.0.Index_is_corrupt" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.SharePoint.Services.3.0.WSS.Application" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="MSWL!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="MSWL!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4138</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Windows SharePoint Services 3 Search</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="CollectData" TypeID="SystemCenter!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="DataWarehousePublishData" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData"/>
<WriteAction ID="WSS.GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.SharePoint.Services.3.0.Index_is_corrupt.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/EventDescription$</AlertParameter2>
<AlertParameter3>$Data/PublisherName$</AlertParameter3>
<AlertParameter4>$Target/Host/Property[Type="MSWL!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/EventDescription$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>