Die logische Seite in der Datenbank ist bereits hashcodiert

Microsoft.SQLServer.2008.Logical_page_in_database_is_already_hashed_1_5_Rule (Rule)

Knowledge Base article:

Zusammenfassung

Dieser Fehler tritt auf, wenn Microsoft® SQL Server™ versucht, die logische Seite %S_PGID der Datenbank mit der ID "%d" für den Hashvorgang auszuwählen und sich die Seite bereits in der SQL Server-Hashtabelle befindet.

Dieser Fehler ist normalerweise eine Nebenerscheinung anderer Datenfehler, die in der Regel durch die Ausführung von DBCC CHECKDB ohne REPAIR-Klausel ermittelt werden können.

Lösungen

Überprüfen Sie das SQL Server-Fehlerprotokoll, und führen Sie dann DBCC CHECKDB mit der geeigneten REPAIR-Klausel für die Datenbank aus. Wenn der Fehler eine Indexseite betrifft, verwenden Sie die REPAIR_REBUILD-Klausel. Wenn der Fehler eine Datenseite betrifft, kann es notwendig sein, die REPAIR_ALLOW_DATA_LOSS-Klausel zu verwenden. In dem wahrscheinlichen Fall, dass Sie keinen Datenverlust in Kauf nehmen möchten, müssen Sie die Datenbank aus einer bekannten fehlerfreien Sicherung wiederherstellen. Wenn das Problem weiterhin auftritt, wenden Sie sich an Ihren primären Anbieter für technischen Support. Halten Sie die Ausgabe von DBCC CHECKDB zur Überprüfung bereit.

Wichtig: Wenn das Indexproblem durch Ausführen von DBCC CHECKDB mit einer der REPAIR-Klauseln nicht behoben werden kann oder Sie nicht sicher sind, wie sich das Ausführen von DBCC CHECKDB mit einer REPAIR-Klausel auf Ihre Daten auswirkt, wenden Sie sich an Ihren primären Supportanbieter.

Stellen Sie mit Unterstützung Ihres Hardwareanbieters sicher, dass das von SQL Server verwendete Datenträgersubsystem den derzeit unterstützten und empfohlenen Firmware- und Hardwareebenen entspricht.

Wenn DBCC CHECKDB keine Fehler findet oder Fehler gefunden und behoben werden, sodass nachfolgende DBCC-Anweisungen keine Fehler mehr zurückgeben, dieser Fehler jedoch weiterhin auftritt, wenden Sie sich an Ihren primären Supportanbieter. Halten Sie die SQL Server-Fehlerprotokolle und die Ausgabe von DBCC CHECKDB und sp_configure zur Prüfung bereit.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

1

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID813
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Die logische Seite in der Datenbank ist bereits hashcodiert
{0}
Event LogApplication
CommentMom2008ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.Logical_page_in_database_is_already_hashed_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>813</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.Logical_page_in_database_is_already_hashed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>