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

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

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

Поскольку мы видели файл журнала Event Viewer, проблема заключается в следующем:

>  Нарушение ограничения PRIMARY KEY 'PK\_tbl\_PendingDelta'. Не могу
>   вставить дубликат ключа в объект 'dbo.tbl\_PendingDelta'. 
> 
> 

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

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

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



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

Затем я проверил виновника.

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



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

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

Я думаю, вам стоит воспользоваться  [службами поддержки продуктов Microsoft](https://support.microsoft.com/) .



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



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