Eine Seite auf Strukturebene (B-Struktur) enthält einen Datensatz für jede untergeordnete Seite und einen Schlüsselwert für diese untergeordnete Seite. Wenn sich die untergeordnete Seite auf Blattebene befindet, müssen die Schlüsselwerte für alle Datensätze der Seite größer als der Schlüsselwert in der übergeordneten Seite bzw. gleich groß sein. Wenn sich die untergeordnete Seite auf Strukturebene befindet, müssen die Schlüsselwerte für alle Datensätze größer sein als der Schlüsselwert in der übergeordneten Seite, mit Ausnahme des ersten Datensatzes, dessen Schlüsselwert mit dem Schlüsselwert in der übergeordneten Seite identisch sein muss.
Eine Seite auf Strukturebene (B-Struktur) enthält einen Datensatz für jede untergeordnete Seite und einen Schlüsselwert für diese untergeordnete Seite. Wenn sich die untergeordnete Seite auf Blattebene befindet, müssen die Schlüsselwerte für alle Datensätze der Seite größer als der Schlüsselwert in der übergeordneten Seite bzw. gleich groß sein. Wenn sich die untergeordnete Seite auf Strukturebene befindet, müssen die Schlüsselwerte für alle Datensätze größer sein als der Schlüsselwert in der übergeordneten Seite, mit Ausnahme des ersten Datensatzes, dessen Schlüsselwert mit dem Schlüsselwert in der übergeordneten Seite identisch sein muss.
Daraus folgt, dass für die übergeordnete Seite P_ID2 mit den untergeordneten Seiten P_ID1 und P_ID3 alle Schlüsselwerte auf der Seite P_ID1 kleiner als der auf der übergeordneten Seite gespeicherte Schlüsselwert für die Seite P_ID3 sein müssen.
In diesem Fall sind die höchsten Schlüsselwerte auf der Seite P_ID1 (d. h. die Schlüssel des letzten Datensatzes auf dieser Seite) nicht kleiner als der Schlüsselwert für die auf der übergeordneten Seite P_ID2 gespeicherte Seite P_ID3.
Für diese Meldung gibt es drei mögliche Statusangaben (1, 2 und 3), die dieselbe Bedeutung haben. Der einzige Unterschied besteht darin, an welcher Stelle im Code das Problem festgestellt wurde.
HARDWAREFEHLER
Führen Sie eine Hardwarediagnose aus, und beheben Sie alle Probleme. Überprüfen Sie außerdem die Linux-System- und -Anwendungsprotokolle und das SQL Server-Fehlerprotokoll, um zu ermitteln, ob der Fehler durch einen Hardwarefehler verursacht wurde. Beheben Sie alle hardwarebedingten Probleme.
Lagern Sie verschiedene Hardwarekomponenten aus, um das Problem zu isolieren, falls Beschädigungsprobleme bei permanenten Daten auftreten. Stellen Sie sicher, dass der Schreibcache auf dem Datenträgercontroller im System nicht aktiviert ist. Wenn Sie vermuten, dass dies der Fall ist, wenden Sie sich an Ihren Hardwarehersteller.
Möglicherweise ist es auch hilfreich, auf ein vollständig neues Hardwaresystem umzusteigen und dabei die Laufwerke neu zu formatieren sowie das Betriebssystem neu zu installieren.
WIEDERHERSTELLEN AUS EINER SICHERUNG
Wenn das Problem nicht hardwarebedingt ist und eine bekanntermaßen fehlerfreie Sicherung zur Verfügung steht, stellen Sie die Datenbank mithilfe der Sicherung wieder her.
DBCC CHECKDB
Wenn keine fehlerfreie Sicherung verfügbar ist, führen Sie DBCC CHECKDB ohne REPAIR-Klausel aus, um den Umfang der Beschädigung zu ermitteln. Von DBCC CHECKDB wird eine zu verwendende REPAIR-Klausel empfohlen. Führen Sie DBCC CHECKDB anschließend mit der passenden REPAIR-Klausel aus, um die Beschädigung zu beheben.
VORSICHT: Wenn Sie sich nicht sicher sind, wie sich DBCC CHECKDB mit Reparaturklausel auf Ihre Daten auswirkt, wenden Sie sich an Ihren primären Anbieter für technischen Support, bevor Sie diese Anweisung ausführen.
Mit REPAIR wird der Index neu erstellt. Wenn das Ausführen von DBCC CHECKDB mit einer der REPAIR-Klauseln das Problem nicht behebt, wenden Sie sich an Ihren primären Anbieter für technischen Support.
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 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{A9F28860-B9F8-40C9-9367-47E50A7EA1E3}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Table_error__The_high_key_value_on_page_is_not_less_than_the_low_key_value_in_the_parent_slot_of_the_next_page_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{A9F28860-B9F8-40C9-9367-47E50A7EA1E3}';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>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8934</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.Table_error__The_high_key_value_on_page_is_not_less_than_the_low_key_value_in_the_parent_slot_of_the_next_page_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>