Fix: ein Konflikt mit der FOREIGN KEY-Einschränkung tritt auf, wenn Sie die Groß-/Kleinschreibung der Spaltenwerte in der Primärschlüsseltabelle aktualisieren oder Spaltenwerte in der Primärschlüsseltabelle in SQL Server 2005 auffüllen.


Problembeschreibung


Wenn Sie die Primärschlüsselspalte der Primärschlüsseltabelle in Microsoft SQL Server 2005 durch Ändern der Groß-/Kleinschreibung der vorhandenen Spaltenwerte oder durch Auffüllen von Spaltenwerten aktualisieren, wird die folgende Fehlermeldung angezeigt:
Msg 547, Ebene 16, Zustand 0, Zeile 1 Update-Anweisung in Konflikt mit der Verweis Einschränkung "<Constraint>". Der Konflikt trat in der Datenbank "<Datenbankname>" auf, Tabelle "<Tabellenname>", Spalte "<Spaltenname>".
Dieses Problem tritt beispielsweise in den folgenden Situationen auf:

Beispiel 1

  • Sie erstellen zwei Tabellen unter Berücksichtigung der Groß-/Kleinschreibung, beispielsweise der SQL_Latin1_General_CP1_CI_AS Sortierung.
  • Sie erstellen eine Primärschlüssel-und Fremdschlüsselbeziehung zwischen diesen beiden Tabellen.
  • Sie aktualisieren die Primärschlüsselspalte der Primärschlüsseltabelle, indem Sie die Groß-/Kleinschreibung der vorhandenen Spaltenwerte ändern.

Beispiel 2

  • Sie erstellen zwei Tabellen.
  • Sie erstellen eine Primärschlüssel-und Fremdschlüsselbeziehung zwischen diesen beiden Tabellen.
  • Die Einstellung ANSI_PADDING ist auf aus festgelegt.Hinweis Standardmäßig ist die Einstellung ANSI_PADDING auf aus festgelegt.
  • Sie aktualisieren die Primärschlüsselspalte der Primärschlüsseltabelle, indem Sie die Spaltenwerte auffüllen.

Ursache


Dieses Problem tritt auf, weil Werte, die auf der Typ-Ebene gleich sind, auf der binären Ebene unterschiedlich sein können. Beispiel: auf der Ebene "Typ" ist "n ' a" gleich "n ' a". Auf der binären Ebene ist n ' a jedoch nicht gleich n ' a. Der Optimierungsmechanismus geht fälschlicherweise davon aus, dass der Aktualisierungsvorgang, der den Fall ändert, keine wirklichen Änderungen vornimmt. Daher ist die PK-FK-Prüfung nicht erfolgreich.

Fehlerbehebung


Service Pack-Informationen

Um dieses Problem zu beheben, besorgen Sie sich das neueste Service Pack für SQL Server 2005. Wenn Sie weitere Informationen wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
913089 Installieren des neusten Service Packs für SQL Server 2005

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt. Dieses Problem wurde zuerst in SQL Server 2005 Service Pack 3 behoben.

Weitere Informationen


Weitere Informationen zur Terminologie für Softwareupdates von Microsoft finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird