В сбалансированном дереве есть две страницы, связанные как родительская страница (P_ID2) и дочерняя (P_ID1). Текущий уровень (LEVEL1) в дочерней странице (P_ID1) не соответствует правилам уровней для сбалансированных деревьев при заданном уровне (LEVEL2) в родительской странице (P_ID2).
В сбалансированном дереве есть две страницы, связанные как родительская страница (P_ID2) и дочерняя (P_ID1). Текущий уровень (LEVEL1) в дочерней странице (P_ID1) не соответствует правилам уровней для сбалансированных деревьев при заданном уровне (LEVEL2) в родительской странице (P_ID2).
Правила уровней таковы, что, если у родительской страницы уровень X, у дочерней страницы должен быть следующий уровень:
уровень X-1, если данный индекс является некластеризованным;
уровень X-1, если индекс является кластеризованным, а дочерняя страница не находится на конечном уровне;
уровень 0, если индекс является кластеризованным, а дочерняя страница находится на конечном уровне; в этом случае уровень родительской страницы равен 0.
Чтобы найти неверную страницу, проверьте эти две страницы и наличие ошибок 2531 (несоответствие родственных уровней в сбалансированном дереве).
СБОЙ ОБОРУДОВАНИЯ
Проведите диагностику оборудования и устраните все найденные проблемы. Просмотрите системный журнал и журнал приложений Microsoft Windows NT, а также журнал ошибок SQL Server, чтобы узнать, не является ли эта ошибка результатом сбоя оборудования. Устраните все неполадки оборудования.
Если постоянно возникают проблемы с несогласованностью данных, попытайтесь выявить причину неполадки путем отключения различных аппаратных компонентов. Убедитесь, что в системе не включено кэширование записи на контроллере диска. Если вы подозреваете, что причиной проблемы является кэширование записи, обратитесь к поставщику оборудования.
Наконец, может помочь переход на совершенно новое оборудование, включающий в себя переформатирование жестких дисков и повторную установку операционной системы.
ВОССТАНОВЛЕНИЕ ИЗ РЕЗЕРВНОЙ КОПИИ
Если неполадка не связана с оборудованием и у вас есть чистая резервная копия, восстановите базу данных из этой копии.
DBCC CHECKDB
Если чистая резервная копия недоступна, выполните инструкцию DBCC CHECKDB без предложения REPAIR, чтобы определить степень повреждения. Инструкция DBCC CHECKDB укажет рекомендуемое предложение REPAIR. Затем выполните инструкцию DBCC CHECKDB с соответствующим предложением REPAIR, чтобы устранить повреждение.
ПРЕДУПРЕЖДЕНИЕ: Если вы не уверены, к какому результату может привести выполнение команды DBCC CHECKDB с инструкцией восстановления для данных, свяжитесь с непосредственным поставщиком услуг поддержки перед выполнением инструкции.
Если выполнение инструкции DBCC CHECKDB с одним из предложений REPAIR не решило проблему, обратитесь к основному поставщику услуг технической поддержки.
Имя | Описание | Значение по умолчанию |
Включено | Включает или отключает рабочий процесс. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс. | 300 |
Приоритет | Определение приоритета оповещений. | 1 |
Серьезность | Определяет серьезность предупреждения. | 2 |
Время синхронизации | Время синхронизации |
|
Время ожидания (в секундах) | Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем. | 200 |
Время ожидания для подключения к базе данных (секунды) | Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';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.Windows.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>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8931</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__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>