MSSQL в Windows: не удалось разрешить ссылку на имя столбца в таблице

Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule (Rule)

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

Knowledge Base article:

Сводка

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

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

Разрешения

Выполните следующие действия.:

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

Имя

Описание

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

Включено

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

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс.

300

Приоритет

Определение приоритета оповещений.

1

Важность

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

1

Время синхронизации

Время синхронизации

 

Время ожидания (в секундах)

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

200

Время ожидания для подключения к базе данных (секунды)

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

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL в Windows: не удалось разрешить ссылку на имя столбца в таблице
{0}
CommentMom2017ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';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>437</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_resolve_the_referenced_column_name_in_table_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>