2009-09-22 7 views
1

J'utilise SQL Server Management Studio et continue d'obtenir la même erreur, et la seule façon de s'en débarrasser (habituellement) est de réinitialiser le serveur SQL (ce qui est très ennuyeux Lorsque j'ajoute une ligne à une table, puis je passe à "Modifier les 200 lignes supérieures" tout s'affiche et fonctionne bien, et je vais dans un champ que je veux changer. Ensuite, je change quelque chose comme 0 -> 1 et puis je reçois une belle popup sympathique disant "Les données ont changé depuis la dernière récupération du volet Résultats ... Erreur Optimistic Concurrency Control" Si d'ici je dis "Oui pour commettre des modifications à la base de données de toute façon" Je reçois "Aucune ligne mise à jour ... La ligne mise à jour a été modifiée ou supprimée depuis la dernière extraction des données"Les données ont toujours changé (SQL Server Management Studio)

C'est une petite chose très ennuyante, parce que je n'aime pas avoir à chercher les RID, puis faire une mise à jour (et peut-être avoir à s'inquiéter de s'échapper à la main)

Existe-t-il un moyen d'activer cette vérification de concurrence ou quelque chose? Je sais que la ligne n'a pas été mise à jour ou quoi que ce soit, et j'ai essayé de fermer complètement Sql Server Management Studio et de rouvrir sans succès, et j'ai aussi essayé d'actualiser le volet résultat, ou d'actualiser la vue des colonnes. Rien ne se débarrasse de cette erreur, mais si je fais une « mise à jour ... ... = ... mettre » il fonctionne, donc je ne suis pas vraiment avoir une erreur .. concurrency

+0

Je trouve http://kbalertz.com/925719/receive-error-message-Server-Management-Studio-update-table-Server.aspx Mais c'est 2008, et j'ai primaire/clé indexée. – Earlz

+0

Cela semble être le problème pour moi ... J'ai un [dans mon champ de texte et pas de clé primaire. – MikeMurko

+0

Est-ce une table ou une table spécifique? A-t-il une colonne timestamp/rowversion? – MartW

Répondre

0

http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/7bf48a75-58a0-41d7-b514-b804a49ae8ff/

il semble être un bug dans SSMS Je ne pense pas avoir plus de 4000 caractères, mais je peux confirmer que cela ne se produit que sur les lignes qui ont plus de données que d'autres .. il semble y avoir une limite abritary que je ne peux pas tout à fait mettre mon doigt sur ..

Ainsi, clairement SSMS est complète merde. Je rechercherai un nouveau gestionnaire SQL.

+1

LinqPad ne semble pas à moitié mauvais .. pour quelqu'un d'autre marre de SSMS merde – Earlz

+0

LINQPad de Joe Albahari est excellent: http://www.linqpad.net/ –

-7

Vous ne devez pas éditer une table directement à partir de la vue table. Vous devez utiliser une commande UPDATE sql.

+3

Je ne vois pas pourquoi c'est la réponse acceptée. La personne utilise SSMS et il y a plusieurs raisons de le faire. C'est comme si quelqu'un vous demandait de créer une table avec Microsoft Word et que vous lui disiez d'utiliser LaTeX ou le Bloc-notes. – MikeMurko

1

J'avais exactement le même problème. Il semble que cet article était assez bon pour le résoudre. Semble toutes sortes de choses buggy dans certaines versions.

Voir: You may receive an error message when you try to use SQL Server Management Studio to update a row of a table in SQL Server 2005.

La table contient une ou plusieurs colonnes du type de données text ou ntext. La valeur de l'une de ces colonnes contient les caractères suivants.

  • signe de pourcentage (%)
    • Underscore (_)
    • support gauche ([)
    • Le tableau ne contient pas de clé primaire.
+0

Après avoir supprimé les parenthèses que j'avais dans mes données, les problèmes de concurrence sont partis. J'utilise SSMS 2017 alors j'ai été surpris qu'une si petite chose ait causé ce problème. Merci de l'avoir signalé. – Zorgarath

Questions connexes