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.
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.
Führen Sie die folgenden Schritte aus:
Führen Sie DBCC CHECKDB für die Datenbank aus, in der die Tabellen gespeichert sind, um zu prüfen, ob Datenbankkonsistenzprobleme vorhanden sind.
Löschen Sie die vorhandene FOREIGN KEY-Einschränkung, und erstellen Sie gegebenenfalls eine neue FOREIGN KEY-Einschränkung, die auf eine gültige Spalte verweist.
Überprüfen Sie, ob die Option Updates zulassen deaktiviert ist. Anweisungen zur Einstellung dieser Option finden Sie unter Option ´Updates zulassen´" in der Onlinedokumentation.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Priorität | Definiert die Warnungspriorität. | 1 |
Schweregrad | Definiert den Warnungsschweregrad. | 1 |
Target | Microsoft.SQLServer.2014.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 437 | ||
Event Source | $Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2014ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2014GroupID={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.2014.Could_not_resolve_the_referenced_column_name_in_table_1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{2253943F-2EDA-43EC-AA01-640E5430061F}';MOM2014GroupID={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="SQL2014Core!Microsoft.SQLServer.2014.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.2014.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>