È possibile che venga visualizzato un messaggio di errore quando si tenta di usare SQL Server Management Studio per aggiornare una riga di una tabella in SQL Server
Questo articolo consente di risolvere il problema che si verifica quando si tenta di aggiornare una tabella usando SQL Server Management Studio in SQL Server.
Versione originale del prodotto: SQL Server
Numero KB originale: 925719
Sintomi
Considerate il seguente scenario: Si tenta di usare SQL Server Management Studio per aggiornare una tabella in Microsoft SQL Server. In Esplora oggetti fare clic con il pulsante destro del mouse sul nome della tabella e quindi scegliere Apri tabella. Si aggiorna una riga della tabella. In questo scenario, nella finestra di dialogo Microsoft SQL Server Management Studio potrebbe essere visualizzato uno dei messaggi di errore seguenti in modo imprevisto:
Messaggio di errore 1
I dati sono stati modificati dopo l'ultimo recupero del riquadro Risultati. Salvare le modifiche ora?
(Errore di controllo della concorrenza ottimistica)
Fare clic su Sì per eseguire comunque il commit delle modifiche nel database.
Fare clic su No per eliminare la modifica e recuperare i dati correnti per questa riga.
Fare clic su Annulla per continuare a modificare.
Nota
Se si fa clic su Sì nella finestra di dialogo del messaggio di errore, la riga viene aggiornata correttamente.
Messaggio di errore 2
Nessuna riga aggiornata.
Non è stato eseguito il commit dei dati nella riga X .
Origine errore: Microsoft.VisualStudio.DataTools.
Messaggio di errore: i valori di riga aggiornati o eliminati non rendono univoca la riga o modificano più righe(N righe).
Correggere gli errori e riprovare o premere ESC per annullare le modifiche.
Nota
Se si riceve questa finestra di dialogo del messaggio, non è possibile aggiornare la riga.
Questo problema si verifica se le seguenti condizioni sono vere:
La tabella contiene una o più colonne del tipo di dati text o ntext.
Il valore di una di queste colonne contiene i caratteri seguenti:
- Segno di percentuale (%)
- Carattere di sottolineatura (_)
- Parentesi quadra sinistra ([)
La tabella non contiene una chiave primaria.
Nota
Questo problema si verifica anche quando si tenta di usare table Designer in Microsoft Visual Studio per aggiornare una tabella che si trova in un database SQL Server.
Causa
Questo problema si verifica perché SQL Server Management Studio genera un'istruzione SQL non corretta per l'operazione di aggiornamento. Quando la tabella non contiene una chiave primaria, i valori di tutte le colonne vengono usati per identificare la riga da aggiornare. Quando SQL Server Management Studio costruisce questa istruzione, viene usato l'operatore di confronto errato (=) per confrontare le colonne dei tipi di dati text, ntext o image.
Soluzione alternativa
Per risolvere questo problema, creare una nuova finestra di query in SQL Server Management Studio. Eseguire quindi un'istruzione SQL UPDATE
per aggiornare la riga nella tabella.
Nota
Se viene visualizzato il primo messaggio di errore indicato nella sezione Sintomi , è possibile fare clic su Sì per aggiornare la riga.
Riferimenti
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per