MSSQL für Linux: Logische Seite in Datenbank ist bereits hashcodiert

Microsoft.SQLServer.Linux.EventRule.DBEngine.Logical_page_in_database_is_already_hashed_1_5_Rule (Rule)

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

Knowledge Base article:

Zusammenfassung

Dieser Fehler tritt auf, wenn SQL Server versucht, die logische Seite "%S_PGID" der Datenbank "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 die Daten auswirkt, wenden Sie sich an Ihren primären Anbieter für technischen Support.

Vergewissern Sie sich bei Ihrem Hardwareanbieter, dass das von SQL Server verwendete Datenträgersubsystem den derzeit unterstützten und empfohlenen Firmware- und Hardwareversionen 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

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

1

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL für Linux: Logische Seite in Datenbank ist bereits hashcodiert
{0}
CommentMom2017ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Logical_page_in_database_is_already_hashed_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>813</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Logical_page_in_database_is_already_hashed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>