zoukankan      html  css  js  c++  java
  • 升级TFS2012查看SOURCEhistory部分提示TF14045: The identity xxx is not a recognized identity

    升级到TFS2012查看源代码的变更历史发现部分目录提示TF14045: The identity xxx is not a recognized identity,原始出错信息如下:

    TF14045: The identity 6D92A6FC-E802-471B-A4C3-662D96B129E9 is not a recognized identity

    MSDN有人碰到类似的问题,对方是从一个域迁移到另一个域:http://social.msdn.microsoft.com/Forums/en-US/tfsintegration/thread/ea056fd6-b24d-4edc-b43a-7c43af1fa25b,而我迁移时由于特定用户无法登陆,删除Windows User并在配置数据库中移除了对应的用户信息导致数据不匹配。

    SQL Server Profiler查看执行语句如下:

    declare @p2 dbo.typ_GuidTable
    insert into @p2 values('6D92A6FC-E802-471B-A4C3-662D96B129E9')
    
    exec prc_security_read_identities_by_tf_id @domain_sid='S-1-9-1551374245-4260716103-2838557511-2459265759-2417551670',@id_list=@p2

    执行该语句没有任何返回,再次跟踪正常语句返回对应的用户信息。tf_id实际对应到TFS配置数据库的tbl_security_identity_cache表。查看prc_security_read_identities_by_tf_id,发现是一个加密存储过程,暂时无法分析它的执行逻辑。于是决定在tbl_security_identity_cache表中添加一条tf_id为6D92A6FC-E802-471B-A4C3-662D96B129E9的记录,继续执行prc_security_read_identities_by_tf_id仍无数据返回。用正确语句执行的tf_id跟踪正确用户信息发现也是一个active=0的用户,查看历史变更集时会显示变更用户,未出错的变更历史就是该用户未参与变更的项。使用正确tf_id查询关联的membership:

    SELECT * FROM tbl_security_membership_cache WHERE member_id = '9CB6B868-0736-4561-8880-81FB2B26824E'

    将这些membership复制给未识别的凭证,container_id等于正确用户关联的container_id、member_id等于未识别凭证、active=0。再次使用未识别凭证的prc_security_read_identities_by_tf_id,问题解决。

  • 相关阅读:
    Nginx与Apache的对比
    gc buffer busy waits(ZT)
    Brocade SAN Switch Change Domain ID (ZT)
    Oracle异机恢复时报错ora19870 ora19507
    row cache lock (ZT)
    can a select block a truncate (ZT)
    NBU常用命令
    the RRD does not contain an RRA matching the chosen C
    Solaris10 x64安装64bit perl
    Solaris and Oracle 32bit Linking Error "fatal: symbol 'ntcontab'
  • 原文地址:https://www.cnblogs.com/junchu25/p/2772323.html
Copyright © 2011-2022 走看看