Die Seite "P_ID1" zeigt in Form einer Überordnungs-/Unterordnungsstruktur auf eine Seite (P_ID2) in einem anderen Objekt.
Die Seite "P_ID1" zeigt in Form einer Überordnungs-/Unterordnungsstruktur auf eine Seite (P_ID2) in einem anderen Objekt.
Statusbezogene Informationen:
Status 1 (I_ID1 = 0): Die Seiten stammen aus einem Heap. Seite P_ID1 hat einen Weiterleitungsdatensatz, welcher auf eine Zeile der Seite P_ID2 verweist.
Status 1 (I_ID1 > 0): Die Seiten stammen aus einer B-Struktur. Seite P_ID1 hat einen untergeordneten Seitenzeiger, welcher auf Seite P_ID2 verweist.
Status 2: Die Seiten stammen aus einem Textobjekt. Eine der folgenden Möglichkeiten ist wahr:
Die Seite "P_ID1" ist eine Textseite, die einen Datensatz mit einem untergeordneten Zeiger enthält, der auf einen Datensatz in der Seite "P_ID2" zeigt.
Die Seite P_ID1 ist eine Index- oder Datenseite mit einem zeileninternen Textstamm, der auf die Textseite P_ID2 zeigt.
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.
Wenn Probleme in Bezug auf inkonsistente Daten dauerhaft auftreten, versuchen Sie, verschiedene Hardwarekomponenten auszutauschen, um das Problem einzugrenzen. 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.
VORSICHT: Diese Reparatur kann zu Datenverlust führen.
Die Reparatur hängt vom Fehlerstatus ab:
Status 1 (Heap): Der weiterleitende Datensatz auf der Seite "P_ID1" wird gelöscht, und alle nicht gruppierten Indizes für den Heap werden neu erstellt.
Status 1 (B-Struktur): Der Index mit Seite "P_ID1" wird neu erstellt.
Status 2: Die beiden Datensätze auf den Seiten "P_ID1" und "P_ID2" werden gelöscht.
Wenn das Problem durch Ausführen von DBCC CHECKDB mit einer der REPAIR-Klauseln nicht behoben werden kann, wenden Sie sich an Ihren primären Anbieter für technischen Support.
Wenn keine Fehler mehr von DBCC CHECKDB gemeldet werden, der Fehler aber weiterhin angezeigt wird, geben Sie die Einschränkungen als Skript aus, löschen Sie sie, und erstellen Sie sie neu. Wenn der Fehler weiterhin angezeigt wird, übertragen Sie die Daten in eine neue Tabelle, und löschen Sie die vorhandene Tabelle.
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. | 2 |
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 | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{4131B4E6-3994-4D3F-83EA-228232BB9798}';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__Cross_object_linkage_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{4131B4E6-3994-4D3F-83EA-228232BB9798}';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>8925</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Table_error__Cross_object_linkage_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>