В настоящее время я пытаюсь перенести и обновить экземпляр TFS2010, работающий на сервере (SERVER_A) в рабочей группе, до TFS2013 на другом сервере (SERVER_B), который находится в домене. Кажется, все работает нормально, но когда я открываю Visual Studio и пытаюсь подключиться к новому экземпляру TFS и получить свое рабочее пространство, его там нет. Я прочитал довольно много документации о «рабочих пространствах tf» и «идентификациях tfsconfig», но я все еще довольно запутался и не смог понять, что происходит. Что я сделал...
- Экспортировать все базы данных SQL и ключ шифрования служб Reporting Services с SERVER_A и восстановить на SERVER_B.
- Установите TFS2013 на SERVER_B, но не выполняйте никаких настроек.
- Выполнить
TfsConfig RemapDBs /DatabaseName:SERVER_B\NAMEDINSTANCE;Tfs_Configuration /SQLInstances:SERVER_B\NAMEDINSTANCE
- Продолжите настройку TFS2013, выберите опцию «Обновить» и пройдите ее без ошибок. Есть предупреждение об обновлении URL-адреса, что я и делаю, и все выглядит нормально.
В этот момент, если я вызову tf workspaces
на SERVER_B, я увижу все рабочие области:
\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 есть локальные пользователи в качестве владельцев рабочей области, и что-то в миграции сопоставляет этих локальных пользователей с некоторыми другими пользователями, которые, как я могу предположить, являются пользователями домена. В этом примере (который просто скрыт от того, что я вижу) локальный администратор сопоставляется с «Администратором». Я предположил, что это означает администратора домена. Если я открою Visual Studio на своей машине разработки, введу учетные данные для учетной записи администратора домена (пароль отличается от SERVER_A\Administrator) в Team Explorer, и я смогу подключиться к новому экземпляру TFS2013. Однако, когда я перехожу к списку рабочих областей, он отображает имя рабочей области для моего компьютера (DEV-PC1), решений нет, и если я нажимаю «Управление рабочими областями...», список оказывается пустым.
Похоже, что все это сводится к проблеме с сопоставлением учетных записей, но из того, что я читал, мне не ясно, как с этим справиться. Если это будет полезно, я также могу опубликовать пример вывода команды TFSConfig identities
с обеих машин. У меня есть подозрение, что часть проблемы заключается в том, что владельцем большинства рабочих областей является администратор (все это было настроено до того, как я попал сюда), а в экземпляре TFS2013 есть идентификаторы для домен\Администратор, SERVER_B\Администратор и SERVER_A\Администратор. Может быть, Visual Studio запуталась? Или, может быть, TFS путается, когда делает обновление?
Любая помощь будет принята с благодарностью. Стесняюсь признать, что в первый раз я сделал эту миграцию успешно в качестве тестового прогона, разобрался со всей конфигурацией для своего рабочего пространства, а затем удалил все на SERVER_B, чтобы начать заново (и чтобы я мог сделать скриншоты для документации всего процесса) . Во второй раз, когда я попытался это сделать, это не сработало. Я действительно не думаю, что забыл записать какие-либо шаги, которые я сделал в первый раз, но, возможно, я что-то упустил.