TFS 2012-TF400013:发生意外的数据库错误

TFS 2012-TF400013:发生意外的数据库错误,tfs,Tfs,我有一个关键问题:我有一个TeamProjectCollection。在这个集合中,我有一个项目。我需要重新创建相同的项目。我删除此项目并再次创建项目。在此之后,我在TFS上得到下一个错误: 当我尝试打开此集合中的任何项目时,会出现此错误。我如何解决这个问题?可能太晚了,无法帮助OP。。。但对于任何其他遇到此“TF400013:发生意外数据库错误”的用户,我是如何在TFS2013系统上解决此问题的 从管理员帐户在TFS服务器上启动Microsoft SQL Server Management

我有一个关键问题:我有一个TeamProjectCollection。在这个集合中,我有一个项目。我需要重新创建相同的项目。我删除此项目并再次创建项目。在此之后,我在TFS上得到下一个错误:


当我尝试打开此集合中的任何项目时,会出现此错误。我如何解决这个问题?

可能太晚了,无法帮助OP。。。但对于任何其他遇到此“TF400013:发生意外数据库错误”的用户,我是如何在TFS2013系统上解决此问题的

  • 从管理员帐户在TFS服务器上启动Microsoft SQL Server Management Studio(SMS)
  • 从SMS的顶级菜单启动[Tools | SQL Server Profiler]
  • 当提示输入[Trace Properties]时,为[Use the template:]组合框选择
    TSQL
    ;默认情况下,通常只在[TextData]列中显示“加密文本”
  • 执行冒犯行为。在我的例子中,我列出了TFS Web应用程序中一个项目的高级[TEST]页面
  • 停止SQL探查器中的跟踪,并筛选相关的[TextData]列,以查找生成“意外数据库错误”的违规SQL
  • 这可以通过将[TextData]SQL从SQL探查器复制到SMS中的查询窗口来实现。您可能需要添加一个
    USE Tfs_xxx
    ,其中
    xxx
    将替换为您的[Team Project Collection]名称。请注意,某些查询打算使用前面的SQL语句
    USE Tfs\u tfscoConfiguration
    运行,以标识tfscoConfiguration数据库而不是项目集合数据库
  • 您可以在SMS中使用有问题的SQL来补救“意外数据库错误”,获得更好的诊断错误消息,并获得对TFS系统进行UI或数据库更正所需的可能洞察力
  • &不包括&不包括&不包括;请注意,您从SMS对TFS数据库所做的任何更改都将使您的Microsoft TFS支持协议无效&不包括&不包括&不包括

    在我的系统上,TFS[TEST]Web应用程序中断,因为有人(我)在对话框中列出的页面查询中添加了[Column option](来自页面的UI),但显然不受支持。由于“无效列名”的内部数据库错误,页的datatable查询失败。在SQL探查器中,在datatable fill SQL之前,有一个要显示的列的查询,该查询在SQL结果中包含了有问题的“未知列名”:

    exec prc_QueryRegistry
     @partitionId=1
    ,@registryPath=N'#\Users\f64...91f\WebAccessTestManagement\b81...cb7\TestHub\ColumnSettings\'
    
    对我来说,最快的修复方法是通过在SMS中执行以下SQL来清除此列设置,从而使我不存在的Microsoft TFS支持协议无效

    exec prc_SetRegistryValue @partitionId=1
    ,@key=N'#\Users\f64...91f\WebAccessTestManagement\b81...cb7\TestHub\ColumnSettings\'
    ,@value=''
    ,@identityName='your name here'
    
    不确定您是否见过,但显然TFS 2012更新1存在一些问题。其他一些人也看到了TF400013错误,有一些关于如何做的建议。