Este erro ocorre quando você tenta modificar dados em uma tabela com uma chave estrangeira que faz referência a uma coluna que não existe mais na tabela referenciada. O simples ato de renomear uma coluna não causará esse erro. Em circunstâncias normais, uma coluna referenciada por uma chave estrangeira não pode ser removida; portanto, esse erro pode indicar que ocorreram atualizações diretas nas tabelas do sistema para as quais não há suporte.
Este erro ocorre quando você tenta modificar dados em uma tabela com uma chave estrangeira que faz referência a uma coluna que não existe mais na tabela referenciada. O simples ato de renomear uma coluna não causará esse erro. Em circunstâncias normais, uma coluna referenciada por uma chave estrangeira não pode ser removida; portanto, esse erro pode indicar que ocorreram atualizações diretas nas tabelas do sistema para as quais não há suporte.
Se você vir o erro pela primeira vez somente após reiniciar a instância do SQL Server, isso pode indicar que referências anteriores a uma chave estrangeira estavam usando informações armazenadas em cache sobre a coluna removida. Portanto, a coluna pode ter sido removida a qualquer momento desde a última reinicialização da instância do SQL Server.
Siga estas etapas:
Execute o DBCC CHECKDB para o banco de dados onde as tabelas residem para verificar se não há problemas de consistência no banco de dados.
Remova a restrição de chave estrangeira existente e, se necessário, crie uma nova, que faça referência a uma coluna válida.
Verifique se a opção permitir atualizações está desativada. Para obter instruções sobre como configurar essa opção, consulte o tópico nos Manuais Online sobre a opção "Permitir Atualizações".
Nome | Descrição | Valor padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Prioridade | Define a Prioridade do Alerta. | 1 |
Gravidade | Define a Severidade do Alerta. | 1 |
Target | Microsoft.SQLServer.2016.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 437 | ||
Event Source | $Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2016ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2016.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';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>437</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.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>