Impossibile risolvere il nome della colonna a cui si fa riferimento nella tabella

Microsoft.SQLServer.2008.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule (Rule)

Knowledge Base article:

Riepilogo

Questo errore si verifica quando si tenta di modificare i dati di una tabella con una chiave esterna che fa riferimento a una colonna che non esiste più nella tabella di riferimento. Se una colonna viene semplicemente rinominata, questo errore non viene generato. In circostanze normali, non è possibile eliminare una colonna a cui fa riferimento una chiave esterna, pertanto questo errore potrebbe indicare che sono stati eseguiti aggiornamenti diretti e non supportati alle tabelle di sistema.

Se l'errore viene visualizzato per la prima volta soltanto dopo il riavvio dell'istanza di SQL Server, è possibile che i precedenti riferimenti della chiave esterna utilizzassero informazioni memorizzate nella cache per la colonna eliminata. La colonna potrebbe quindi essere stata rimossa in un qualsiasi momento dopo l'ultimo riavvio dell'istanza di SQL Server.

Soluzioni

Eseguire la procedura seguente:

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID437
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Impossibile risolvere il nome della colonna a cui si fa riferimento nella tabella
{0}
Event LogApplication
CommentMom2008ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2008.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2008GroupID={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" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.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.2008.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>