Fehler: beim Versuch, SQL Server Management Studio zum Aktualisieren einer Zeile einer Tabelle in SQL Server 2005 zu verwenden, wird möglicherweise eine Fehlermeldung angezeigt


Problembeschreibung


Stellen Sie sich folgendes Szenario vor: Sie versuchen, SQL Server Management Studio zu verwenden, um eine Tabelle in Microsoft SQL Server 2005 zu aktualisieren. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Namen der Tabelle, und klicken Sie dann auf Tabelle öffnen. Sie aktualisieren eine Zeile der Tabelle. In diesem Szenario wird im Dialogfeld Microsoft SQL Server Management Studio möglicherweise eine der folgenden Fehlermeldungen angezeigt:
Fehlermeldung 1
Daten wurden seit dem letzten Abrufen des Ergebnisbereichs geändert. Möchten Sie Ihre Änderungen jetzt speichern? (Fehler bei der Steuerung der vollständigen Parallelität) Klicken Sie auf Ja, um Ihre Änderungen auf die Datenbank zu übertragen. Klicken Sie auf Nein, um die Änderung zu verwerfen und die aktuellen Daten für diese Zeile abzurufen. Klicken Sie auf Abbrechen, um die Bearbeitung fortzusetzen.
Hinweis Wenn Sie im Dialogfeld Fehlermeldung auf Ja klicken, wird die Zeile ordnungsgemäß aktualisiert.
Fehlermeldung 2
Keine Zeile wurde aktualisiert. Die Daten in Zeile X wurden nicht zugesichert. Fehlerquelle: Microsoft. VisualStudio. datatools. Fehlermeldung: der aktualisierte oder gelöschte Zeilenwert (en) macht die Zeile entweder nicht eindeutig, oder Sie ändern mehrere Zeilen (N Zeilen). Korrigieren Sie die Fehler, und wiederholen Sie den Vorgang, oder drücken Sie ESC, um die Änderung (en) abzubrechen.
Hinweis Wenn dieses Dialogfeld angezeigt wird, können Sie die Zeile nicht aktualisieren. Dieses Problem tritt auf, wenn die folgenden Bedingungen zutreffen:
  • Die Tabelle enthält mindestens eine Spalte mit dem Datentyp " Text " oder " ntext ".
  • Der Wert einer dieser Spalten enthält die folgenden Zeichen:
    • Prozentzeichen (%)
    • Unterstrich (_)
    • Linke eckige Klammer ([)
  • Die Tabelle enthält keinen Primärschlüssel.
Hinweis Dieses Problem tritt auch auf, wenn Sie versuchen, den Tabellen-Designer in Microsoft Visual Studio 2005 zu verwenden, um eine Tabelle zu aktualisieren, die sich in einer SQL Server 2005-Datenbank befindet.

Ursache


Dieses Problem tritt auf, weil SQL Server Management Studio eine falsche SQL-Anweisung für den Aktualisierungsvorgang generiert. Wenn die Tabelle keinen Primärschlüssel enthält, werden die Werte aller Spalten verwendet, um die zu aktualisierende Zeile zu identifizieren. Wenn SQL Server Management Studio diese Anweisung erstellt, wird der falsche Vergleichsoperator (=) verwendet, um Spalten der Datentypen Text, ntextoder Image zu vergleichen.

Problemumgehung


Erstellen Sie ein neues Abfragefenster in SQL Server Management Studio, um dieses Problem zu umgehen. Führen Sie dann eine SQL Update-Anweisung aus, um die Zeile in der Tabelle zu aktualisieren.Hinweis Wenn Sie die erste Fehlermeldung erhalten, die im Abschnitt "Problembeschreibung" erwähnt wird, können Sie auf Ja klicken, um die Zeile zu aktualisieren.

Status


Microsoft hat bestätigt, dass es sich hierbei um einen Fehler in den Microsoft-Produkten handelt, die im Abschnitt „Die Informationen in diesem Artikel beziehen sich auf“ aufgeführt sind.