如何在办理登机手续时解决TFS错误TF246021和SQL Server错误500200?

时间:2013-02-07 07:55:59

标签: sql-server tfs tfs2010

我正在尝试检入文件,并且一个文件(一个且只有一个文件)在签入时出现问题。此文件已被删除多次并取消删除(由于架构和设计中的冲突)现在TFS抛出了这个错误:

  

TF246021:处理您的请求时出错。技术   信息(对于管理员):SQL Server错误:500200

当我们看到事件查看器的日志文件时,问题是:

  

违反PRIMARY KEY约束'PK_tbl_PendingDelta'。不能   在对象'dbo.tbl_PendingDelta'中插入重复键。

但是,dbo.tbl_PendingDelta中没有待处理的更改。实际上,这个表是完全空的。这有什么不对?我该如何解决这个问题?

6 个答案:

答案 0 :(得分:9)

这似乎与工作空间有关。我在一个工作区上遇到此问题,但能够在不同的工作空间中执行触发错误(回滚先前的回滚)的源代码控制操作。

重新创建工作区可能是一种解决方案。

答案 1 :(得分:3)

我的解决办法是排除罪魁祸首并检查其余部分 然后我检查了罪魁祸首。

(如果你有一个门禁签到,你可能必须先关闭它。)

答案 2 :(得分:1)

我怀疑变更集中的项目以某种方式使用相同的ID两次,因此第一个INSERT很好但第二个会导致违规。但是,由于它们处于同一个事务中,因此第一个INSERT将被回滚,之后您在tbl_PendingDelta中看不到任何内容。

有关此问题的另一个示例,请参阅http://connect.microsoft.com/VisualStudio/feedback/details/693450/tfs-2010-violation-of-primary-key-constraint-pk-tbl-pendingdelta

我认为你应该用Microsoft Product Support Services来解决这个问题。

答案 3 :(得分:1)

我发生了类似的事情。以前我已经回滚了一些更改,并再次使用相同的名称在解决方案和项目文件中重新引入这些更改。我发现的问题是sql脚本重命名不在Sql.proj文件中,我需要添加它然后关闭解决方案以接受对proj文件的更改。一旦我更正了重命名,确保它在项目文件中,然后我可以检查它。

答案 4 :(得分:1)

我重命名了我的工作区文件夹(包含$ tf的顶层),然后在我想要的分支上获取最新信息,然后取消搁置。

答案 5 :(得分:0)

1。从文件菜单中,单击源代码控制,然后单击工作区

2。在“管理工作区”对话框的“名称”列下,突出显示要删除的工作区,然后单击“ 删除”。

3。在“确认”对话框中,单击“确定”。

您的工作完成了。

再次映射您的解决方案,然后您便可以正常工作。