Visual studio 2013 TFS 2010到2013迁移升级后缺少工作区

Visual studio 2013 TFS 2010到2013迁移升级后缺少工作区,visual-studio-2013,tfs,tfs-migration,Visual Studio 2013,Tfs,Tfs Migration,我目前正在尝试将工作组中服务器(服务器a)上运行的TFS2010实例迁移并升级到域中另一台服务器(服务器B)上的TFS2013。一切似乎都正常,但当我打开VisualStudio并尝试连接到新的TFS实例并检索我的工作区时,它不在那里。我已经阅读了很多关于“tf工作区”和“tfsconfig标识”的文档,但我仍然很困惑,无法弄清楚到底发生了什么。我所做的 将所有SQL数据库和Reporting Services加密密钥从服务器_A导出并还原到服务器_B 在服务器_B上安装TFS2013,但不进行

我目前正在尝试将工作组中服务器(服务器a)上运行的TFS2010实例迁移并升级到域中另一台服务器(服务器B)上的TFS2013。一切似乎都正常,但当我打开VisualStudio并尝试连接到新的TFS实例并检索我的工作区时,它不在那里。我已经阅读了很多关于“tf工作区”和“tfsconfig标识”的文档,但我仍然很困惑,无法弄清楚到底发生了什么。我所做的

  • 将所有SQL数据库和Reporting Services加密密钥从服务器_A导出并还原到服务器_B
  • 在服务器_B上安装TFS2013,但不进行任何配置
  • 运行
    tfsconfigremapdbs/DatabaseName:SERVER\u B\NAMEDINSTANCE;Tfs_配置/SQLInstances:SERVER_B\NAMEDINSTANCE
  • 继续TFS2013配置,选择“升级”选项,并顺利完成。有一个关于更新url的警告,我这样做了,看起来一切正常
  • 此时,如果我在服务器上调用
    tf工作区
    ,我会看到所有的工作区:

    \Microsoft Team Foundation Server 12.0\Tools>tf workspaces /owner:* /collection:"http://SERVER_B:8080/tfs/COLLECTIONNAME/"
    Collection: http://SERVER_B:8080/tfs/SFO 
    Workspace  Owner         Computer  
    ---------- ------------- ---------- 
    ...
    DEV-PC1    Administrator DEV-PC1 
    DEV-PC2    Administrator DEV-PC2 
    JOHND123   John Doe      JOHND123 
    ...
    
    如果我从服务器A发出相同的呼叫,我会看到:

    \Microsoft Team Foundation Server 2010\Tools>tf workspaces /owner:* /collection:"http://SERVER_A:8080/tfs/COLLECTIONNAME/"
    Collection: http://SERVER_A:8080/tfs/COLLECTIONNAME
    Workspace  Owner                  Computer  
    ---------- ---------------------- ----------
    ...
    DEV-PC1    SERVER_A\Administrator DEV-PC1
    DEV-PC2    SERVER_A\Administrator DEV-PC2
    JOHND123   SERVER_A\John          JOHND123
    ...
    
    因此,服务器A将本地用户作为工作区所有者,迁移过程中的某些东西将这些本地用户映射到其他用户,我只能假设这些用户是域用户。在这个例子中(我所看到的只是模糊不清),本地管理员被映射到“管理员”。我认为这意味着域管理员。如果我在我的开发人员计算机上打开Visual Studio,请在Team Explorer中输入域管理员帐户的凭据(与服务器\管理员不同的密码),我可以连接到新的TFS2013实例。但是,当我转到工作区列表时,它会显示我的计算机(DEV-PC1)的工作区名称,没有解决方案,如果单击“管理工作区…”,则列表为空

    似乎这一切都归结为帐户映射的问题,但从我所读到的内容来看,我并不清楚如何处理这个问题。如果有用的话,我还可以发布来自两台机器的
    TFSConfig identifies
    命令的示例输出。我有一种预感,部分问题是大多数工作区的所有者是管理员(所有这些都是在我来到这里之前设置的),在TFS2013实例中,有域\管理员、服务器\ B \管理员和服务器\ a \管理员的身份。也许VisualStudio很困惑?或者TFS在升级时会感到困惑


    我们将非常感谢您的任何帮助。我不愿意承认,我第一次成功地完成了这个迁移,是作为一次测试运行,计算出了我工作区的所有配置,然后卸载了服务器上的所有内容以重新开始(因此我可以截图记录整个过程)。我第二次尝试时,它不起作用。我真的不认为我忘了写下我第一次做的任何步骤,但可能我遗漏了什么。

    您将希望按照中的说明进行移动。域中的标识与工作组中的标识不同(底层唯一标识符不同)。所有工作区、搁置集等都存在,但都与需要更新的身份相关。

    您对工作区有什么顾虑?迁移之前,请确保已签入所有内容。然后迁移。之后,每个人都可以重新映射他们的相关工作区。工作区只是源结构到特定用户的物理文件系统位置之间的映射——更改这三个位置中的任何一个,工作区都将无效。使当前工作区无效不是一个大问题,可能只是一个小小的不便。任何使用工作区的构建脚本都应该动态地创建临时脚本。我想我的“挂断”是因为我是TFS新手,不想在迁移过程中搞砸任何事情。似乎工作区应该能够被迁移,或者至少应该能够手动重新映射到新用户。如果它们完全是一次性的,那就太好了,但据我所知,搁置集存储在工作区中-对吗?。我知道开发人员有搁置集,我不希望让他们只是提交或丢弃它们。搁置集不存储在工作区中。搁置集存储在TFS服务器上。我只是做了一点研究,发现搁置集作为类型为1的工作区存储在数据库中。但这并不能说明,如果我不得不扔掉架子,我还能找回那个架子。此外,如果搁置集存储为一个与创建它的工作区具有相同所有者的工作区,那么我仍然会遇到同样的问题-我需要找出如何将原始基于工作组的用户与新的基于域的用户关联起来。