Как решить ошибку TFS TF246021 и ошибку SQL Server 500200 при проверке? - программирование
Подтвердить что ты не робот

Как решить ошибку TFS TF246021 и ошибку SQL Server 500200 при проверке?

Я пытаюсь проверить файл, и один файл (один и только один файл) имеет проблему во время проверки. Этот файл был удален много раз и восстановлен (из-за конфликта в архитектуре и дизайне) и теперь TFS выдает эту ошибку:

TF246021: При обработке вашего запроса произошла ошибка. технический информация (для администратора): Ошибка SQL Server: 500200

Как мы видели файл журнала Event Viewer, проблема такова:

Нарушение ограничения PRIMARY KEY 'PK_tbl_PendingDelta'. Не могу вставить дубликат ключа в объект 'dbo.tbl_PendingDelta'.

Однако в dbo.tbl_PendingDelta нет ожидающих изменений. Фактически, эта таблица полностью пуста. Что здесь не так? Как я могу решить эту проблему?

4b9b3361

Ответ 1

Это похоже на рабочую область. У меня была эта проблема на одной рабочей области, но я смог выполнить операцию управления источником, которая вызвала ошибку (откат предыдущего отката) в другой рабочей области без каких-либо проблем.

Повторное создание рабочего пространства может быть решением.

Ответ 2

Мое решение состояло в том, чтобы исключить виновника и проверить остальные.
Затем я проверил виновника.

(Если у вас есть закрытая регистрация, вам, возможно, придется сначала отключить это.)

Ответ 3

Я подозреваю, что каким-то образом элементы в наборе изменений дважды используют один и тот же идентификатор, поэтому первый INSERT является хорошим, а второй вызывает нарушение. Однако, поскольку они находятся в одной транзакции, первый INSERT откатывается назад, и после этого вы ничего не видите в tbl_PendingDelta.

См. http://connect.microsoft.com/VisualStudio/feedback/details/693450/tfs-2010-violation-of-primary-key-constraint-pk-tbl-pendingdelta для другого примера этой проблемы.

Думаю, вам стоит воспользоваться Службами поддержки продуктов Microsoft.

Ответ 4

У меня было что-то подобное. Ранее я отменил некоторые изменения и снова вносил эти изменения в файлы решений и проектов с тем же именем. Проблема, которую я нашел, это переименование sql script не было в файле Sql.proj, и мне нужно было добавить его, а затем закрыть решение, чтобы принять изменения в файле proj. Как только я исправил переименование, убедитесь, что он был в файле проекта, затем я мог проверить его.

Ответ 5

Я переименовал свою папку рабочего пространства (верхний уровень, содержащий $tf), а затем получил самую последнюю информацию о ветке, которую я хотел, затем работал без работы.