我目前正在尝试将在工作组中的服务器(SERVER_A)上运行的TFS2010实例迁移并升级到域上的另一台服务器(SERVER_B)上的TFS2013。一切似乎都运行正常,但是当我打开Visual Studio并尝试连接到新的TFS实例并检索我的工作区时,它就不存在了。我已经阅读了很多关于“tf工作空间”和“tfsconfig身份”的文档,但我仍然很困惑,并且无法弄清楚正在发生的事情。我做了什么......
TfsConfig RemapDBs /DatabaseName:SERVER_B\NAMEDINSTANCE;Tfs_Configuration /SQLInstances:SERVER_B\NAMEDINSTANCE
此时,如果我在SERVER_B上调用tf workspaces
,我会看到所有工作区:
\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
...
如果我从SERVER_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
...
因此,SERVER_A将本地用户作为工作区所有者,迁移中的某些内容将这些本地用户映射到其他一些用户,我只能假设他们是域用户。在这个例子中(我刚刚从我看到的内容中混淆了),本地管理员被映射到“Administrator”。我认为这意味着域管理员。如果我在我的开发计算机上打开Visual Studio,请在团队资源管理器中输入域管理员帐户的凭据(与SERVER_A \ Administrator不同的密码)我可以连接到新的TFS2013实例。当我转到工作区列表时,它显示我的计算机的工作区名称(DEV-PC1),没有解决方案,如果我单击“管理工作区...”,列表为空。
似乎这一切都归结为帐户映射的问题,但我不清楚我已经阅读过如何处理这个问题。如果它有用,我也可以从两台机器上发布TFSConfig identities
命令的示例输出。我有一个预感,问题的一部分是大多数工作区的所有者是Administrator(所有这些都是在我到达之前设置的),而在TFS2013实例中有域\ Administrator,SERVER_B \ Administrator和SERVER_A \管理员。也许Visual Studio很困惑?或者TFS在进行升级时会感到困惑吗?
非常感谢任何和所有帮助。我毫不犹豫地承认我第一次成功进行了这次迁移,作为测试运行,找到了我工作区的所有配置,然后卸载了SERVER_B上的所有内容以重新开始(所以我可以截取整个过程的文档截图) 。我第二次尝试它,它没有用。我真的不认为我忘记写下我第一次做的任何步骤,但我可能会遗漏一些东西。
答案 0 :(得分:2)
您需要按照Move Team Foundation Server from one environment to another中的说明进行操作。域中的身份与工作组中的身份不同(底层唯一标识符不同)。所有工作空间,搁置集等都在那里,但与需要更新的身份相关联。