2013-02-07 5 views
17

Ich versuche, eine Datei einzuchecken, und eine Datei (eine und nur eine Datei) hat ein Problem beim Einchecken. Diese Datei wurde mehrmals gelöscht und wiederhergestellt (aufgrund eines Konflikts in Architektur und Design) und jetzt TFS diesen Fehler wirft:Wie lösen TFS Fehler TF246021 und SQL Server Fehler 500200 beim Einchecken?

TF246021: An error occurred while processing your request. Technical information (for administrator): SQL Server Error: 500200

Da wir die Protokolldatei der Ereignisanzeige gesehen, das Problem ist:

Violation of PRIMARY KEY constraint 'PK_tbl_PendingDelta'. Cannot insert duplicate key in object 'dbo.tbl_PendingDelta'.

Allerdings gibt keine ausstehenden Änderungen in dbo.tbl_PendingDelta ist. In der Tat ist diese Tabelle vollständig leer. Was ist hier falsch? Wie kann ich dieses Problem lösen?

Antwort

1

Ich vermute, dass die Elemente in der Änderungsmenge irgendwie die gleiche ID zweimal verwenden, so dass die erste INSERT ist in Ordnung, aber die zweite wird die Verletzung verursachen. Da sie sich jedoch in der gleichen Transaktion befinden, wird die erste INSERT zurückgesetzt und Sie sehen danach nichts mehr in tbl_PendingDelta.

Weitere Informationen zu diesem Problem finden Sie unter http://connect.microsoft.com/VisualStudio/feedback/details/693450/tfs-2010-violation-of-primary-key-constraint-pk-tbl-pendingdelta.

Ich denke, Sie sollten dies mit Microsoft Product Support Services aufnehmen.

3

Meine Lösung war, den Täter auszuschließen und den Rest einchecken.
Ich habe dann den Schuldigen eingecheckt.

(Wenn Sie eine gated haben checkin Sie vielleicht zunächst, dass auszuschalten haben.)

1

Ich hatte etwas ähnliches geschehen. Zuvor hatte ich einige Änderungen rückgängig gemacht und führte diese Änderungen erneut in den Projekt- und Lösungsdateien mit demselben Namen ein. Das Problem, das ich fand, war ein SQL-Skript-Umbenennung war nicht in der Sql.proj-Datei, und ich musste es hinzufügen und schließen Sie dann die Lösung, um die Änderungen an der Proj-Datei zu akzeptieren. Sobald ich die Umbenennung korrigiert, stellen Sie sicher, dass es in der Projektdatei war, dann konnte ich es einchecken.

9

Dies scheint mit dem Arbeitsbereich verwandt zu sein. Ich hatte dieses Problem in einem Arbeitsbereich, konnte aber die Quellcodeverwaltung, die den Fehler (Rollback eines vorherigen Rollbacks) ausgelöst hatte, problemlos in einem anderen Arbeitsbereich ausführen.

Die Wiederherstellung Ihres Arbeitsbereichs könnte eine Lösung sein.

+1

Ich traf das gleiche Problem, während ich versuchte, ein Regal zu verlassen. Löschen und neu erstellen meines Arbeitsbereichs wie hier vorgeschlagen löste das Problem für mich. –

1

Ich habe meinen Workspace-Ordner umbenannt (die oberste Ebene enthält $ tf), dann habe ich den neuesten Stand über den Zweig, den ich wollte, dann hat der unshelve funktioniert.