MSSQL 2016: логическая страница в базе данных уже хэширована

Microsoft.SQLServer.2016.Logical_page_in_database_is_already_hashed_1_5_Rule (Rule)

Эта ошибка возникает, когда SQL Server пытается создать хэш логической страницы \%S_PGID базы данных ID\%d и страница уже имеется в хэш-таблице SQL Server.

Knowledge Base article:

Сводка

Эта ошибка возникает, когда SQL Server пытается создать хэш логической страницы %S_PGID базы данных ID%d и страница уже имеется в хэш-таблице SQL Server.

Эта ошибка обычно возникает как побочный эффект других ошибок данных, которые могут быть обнаружены при выполнении инструкции DBCC CHECKDB без предложений восстановления.

Решения

Просмотрите журнал ошибок SQL Server, а затем выполните в базе данных инструкцию DBCC CHECKDB с соответствующим предложением восстановления. Если данная ошибка затрагивает страницу индекса, используйте предложение REPAIR_REBUILD. Если данная ошибка затрагивает страницу данных, то, возможно, необходимо использовать предложение REPAIR_ALLOW_DATA_LOSS. Если в такой ситуации нельзя допустить потери данных, необходимо выполнить восстановление из безошибочной резервной копии. В случае повторения ошибки обратитесь к основному поставщику услуг технической поддержки. Подготовьте к просмотру выходные данные инструкции DBCC CHECKDB.

Внимание! Если выполнение инструкции DBCC CHECKDB с одним из предложений восстановления не устраняет проблему с индексом или если есть сомнения в том, какое действие инструкция DBCC CHECKDB с предложением восстановления окажет на данные, обратитесь к своему основному поставщику услуг технической поддержки.

Проверьте у поставщика оборудования, что дисковая подсистема, используемая SQL Server, соответствует рекомендуемым и поддерживаемым в настоящее время уровням встроенного ПО и оборудования.

Если команда DBCC CHECKDB не находит ошибки, или если ошибки обнаруживаются и исправляются, и последующие команды DBCC указывают на отсутствие ошибок, но эта ошибка повторяется, обратитесь в техническую поддержку. Предоставьте журналы ошибок SQL Server, результаты выполнения DBCC CHECKDB и sp_configure для изучения.

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Включено

Включает или отключает рабочий процесс.

Да

Приоритет

Определяет приоритет предупреждения.

1

Серьезность

Определяет серьезность предупреждения.

1

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID813
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: логическая страница в базе данных уже хэширована
{0}
Event LogApplication
CommentMom2016ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.Logical_page_in_database_is_already_hashed_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2016GroupID={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">
<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="SQL2016Core!Microsoft.SQLServer.2016.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.2016.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>