【问题标题】:How to solve TFS error TF246021 and SQL Server error 500200 while checking in?签入时如何解决 TFS 错误 TF246021 和 SQL Server 错误 500200?
【发布时间】:2013-01-22 15:59:30
【问题描述】:

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

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

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

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

但是,dbo.tbl_PendingDelta 中没有待处理的更改。事实上,这张桌子完全是空的。这里有什么问题?我该如何解决这个问题?

【问题讨论】:

    标签: sql-server tfs


    【解决方案1】:

    这似乎与工作区有关。我在一个工作区遇到了这个问题,但能够在另一个工作区执行触发错误(回滚先前的回滚)的源代码控制操作,没有任何问题。

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

    【讨论】:

    • 我在尝试解除搁置集时遇到了同样的问题。按照此处的建议删除并重新创建我的工作区为我解决了这个问题。
    【解决方案2】:

    1.从文件菜单中,点击Source Control,然后点击Workspaces

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

    3.在确认对话框中,点击确定。

    你的工作已经完成了。

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

    【讨论】:

      【解决方案3】:

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

      (如果您有门控签到,您可能必须先将其关闭。)

      【讨论】:

        【解决方案4】:

        我怀疑更改集中的项目以某种方式两次使用相同的 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 处理这个问题。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多