Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come 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
Si consideri 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 è possibile che venga visualizzato uno dei messaggi di errore seguenti in modo imprevisto nella finestra di dialogo Microsoft SQL Server Management Studio :
Messaggio di errore 1
I dati sono stati modificati dopo l'ultimo recupero del riquadro Risultati. Salvare le modifiche?
(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 la modifica.
Note
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.
Note
Se viene visualizzata questa finestra di dialogo di 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 aperta ([)
La tabella non contiene una chiave primaria.
Note
Questo problema si verifica anche quando si tenta di usare Progettazione tabelle in Microsoft Visual Studio per aggiornare una tabella presente in un database di 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 non corretto (=) 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.
Note
Se viene visualizzato il primo messaggio di errore indicato nella sezione Sintomi , è possibile fare clic su Sì per aggiornare la riga.