Der Spaltenname, auf den in der Tabelle verwiesen wurde, konnte nicht aufgelöst werden

Microsoft.SQLServer.2008.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule (Rule)

Knowledge Base article:

Zusammenfassung

Dieser Fehler tritt beim Versuch auf, Daten in einer Tabelle mit einem Fremdschlüssel zu ändern, wenn dieser Fremdschlüssel auf eine Spalte verweist, die in der Tabelle, auf die verwiesen wird, nicht mehr vorhanden ist. Dieser Fehler wird nicht durch das Umbenennen einer Spalte verursacht. Normalerweise kann eine Spalte, auf die in einem Fremdschlüssel verwiesen wird, nicht gelöscht werden. Daher ist dieser Fehler unter Umständen ein Hinweis darauf, dass nicht unterstützte direkte Systemtabellenaktualisierungen vorgenommen wurden.

Wenn dieser Fehler erst nach einem Neustart der SQL Server-Instanz angezeigt wird, kann dies ein Hinweis darauf sein, dass vorherige Fremdschlüsselverweise zwischengespeicherte Informationen zur gelöschten Spalte verwendet haben. Daher kann die Spalte zu einem nicht mehr bestimmbaren Zeitpunkt seit dem letzten Neustart der SQL Server-Instanz gelöscht worden sein.

Lösungen

Führen Sie die folgenden Schritte aus:

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
Der Spaltenname, auf den in der Tabelle verwiesen wurde, konnte nicht aufgelöst werden
{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>