先说下此片博客的上下文:部门所在的业务被集团出售,因此我们所有的计算机和服务器都得重新命名,退出当前域加入新公司的域。对于PC和其他服务器,目前不存在太大问题。但是对于Team Foundation Server (下面简称TFS)却是相对麻烦, 尤其是在集成了Window SharePoint Service (下面简称WSS)时。

经过近一个月的研究与实验,基本上搞定了迁移工作。下面就详细说下迁移步骤:

1.首先不能在没有把握的情况下在生产环境中搞,且生产环境一直在提供服务。我们的TFS是在Hyper-V虚拟机上运行,平时用Windows Server Backup Tool (Windows Server 2008以上自带)这个工具做的虚机备份。首先要讲此备份还原到另外一个地方。

关于如何使用此工具,详情请见链接(以前工作中的写的,英文版,懒得翻译了)。关于还原备份到一个新的虚拟机,中间有个小技巧,详见我的另一篇随笔 【原创】还原Hyper-V 到一个新的虚拟机。我在这一步花了些时间,原因是还原出的虚机硬盘文件(*.VHD)可能是损坏的,表现在刚还原出的虚机在刚开机时提示要检测硬盘,等进入操作系统后,通过SQL Server Management Studio发现其中有一个主要的TFS数据库是suspend(挂起)状态。当时也尝试着去修复,但是无功而返。后来又尝试着还原虚机的备份几次,终于有一次是好了,至于原因,我也说不出为什么。

还有就是在还原成功后,需要创建一个新的虚机来挂这个VHD文件,再创建虚机时要注意:不要启用网络功能,否则到时会跟生产环境里虚机冲突,造成生产事故(很有可能有人的计算机连到这台测试TFS)。

2.到这一步,已经有还原出一个和最新的TFS一样的虚机来随便测试了,此时建议检查下还原出的虚机各项服务是否正常,测试项:

  1. TFS Project collection web sites(http://localhost:8080/tfs )

  2. WSS site(http://localhost)

  3. WSS Central Adminhttp://localhost:17012

  4.用TFS上的VS(如果有装)链接TFS

如果确认各项功能没有问题,此时强烈必须建议做一个虚机快照,用于在以后随时还原到此状态。

3. 用一个服务器本地账号(我这里叫 tfs-service-admin)来登录服务器,确保该账号拥有以下权限:

  1. Servers: Administrators (local Administrators group or equivalent)
  2. TFS: Team Foundation Administrators and Admin Console Users
  3. SQL Server: sysadmin
  4. SharePoint Products: Farm Administrators (if your TFS deployment integrates with SharePoint Products

4. 创建一个测试域,且我在该测试域所在的服务器启用了DNS服务,为了测试环境能够相互通过域名通信。

5. 下面的步骤就是要真正开始做迁移工作了,首先重命名此服务器(新名:CNXA1ERES-VM99),并退域加入工作组,这个步骤的目的有两个:

  1.因为在计算机加入新公司的域,很有可能会被要求重命名(大公司的计算机都有一定的命名规则)。

  2.避免在连上网络后,跟生产TFS服务器冲突。

6. 这一步非必须,停掉其他跟生产有关的非TFS服务,如CC.NET,因为我们的TFS服务器上还跑build服务,这样做是为了减少对生产环境的影响。

7. 启用虚拟的网络功能,从DHCP服务器获得IP,手动修改DNS为刚才所建的DNS服务器,如上所示,手动指定DNS是为了测试TFS能找到新的域服务器。

8. 这时就可以通过远程桌面连接测试TFS了,通过tfs-service-admin账号。

9.因为TFS服务器命名了,对应的数据库实例名也要修改,打开SQL Server Management Studio,:

  1. 实例名:CNXA1ERES-VM99
  2. Execute the following cmd in a new query.

    exec sp_dropserver 'cnxa1eres-vm31'

    go

    exec sp_addserver 'cnxa1eres-vm99',local

    go

  3.Restart SQL server service.

  4.execute “select @@servername” to check, it should be the new name.

10. 如果之前很多服务(Windows 服务和IIS应用程序缓冲池所用到的)都用的是一个域账号,请给予新的域账号同样的数据库权限。

11.修改TFS config文件中的服务器名,文件所在路径:C:\Program Files\Microsoft Team Foundation Server 11.0\Application Tier\Web Services\web.config.

12.将新的域账号加到如下组:Local AdministratorWSS_WPGWSS_ADMIN & IIS_WPG

13. 更新WSS的一些配置:

 Run cmd as admin.

  1. Cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
  2. stsadm –o renameserver –oldservername cnxa1eres-vm31 –newservername cnxa1eres-vm99
  3. stsadm -o updatefarmcredentials -userlogin Touchpoint\administrator -password Password1
  4. stsadm -o updateaccountpassword –noadmin -userlogin Touchpoint\administrator -password Password1
  5. stsadm.exe -o spsearch -farmserviceaccount Touchpoint\administrator -farmservicepassword Password1 (execute failed)
  6. stsadm.exe -o spsearch -farmcontentaccessaccount Touchpoint\administrator –farmcontentaccesspassword Password1(execute failed)
  7. stsadm.exe -o editssp -title SharedServicesProviderName -ssplogin Touchpoint\administrator -ssppassword Password1(execute failed)
  8. stsadm.exe -o osearch -farmserviceaccount Touchpoint\administrator -farmservicepassword Password1(execute failed)
  9. stsadm -o migrateuser -oldlogin DOMAIN\user -newlogin DOMAIN\user -ignoresidhistory

14.修改IIS应用程序缓冲池中的对应账号,重启IIS

15.修改服务中对应的账号,变成新的域账号。

16.Change the Service account to CNXA1ERES-VM99\Tfs-service-admin in Team foundation server administration console, and then restart the server.

17.Change the URLs in TFS console, to http:\\cnxa1eres-vm99.touchpoint.net:8080/tfs, test succeed.

18.Migrate TFS account

  1. Cd C:\Program Files\Microsoft Team Foundation Server 11.0\Tools

TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName

【原创】Team Foundation Server 域环境迁移的更多相关文章

  1. 在域信任环境中使用 Team Foundation Server (TFS 2013)

    原文:在域信任环境中使用 Team Foundation Server (TFS 2013) 1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质 ...

  2. 如何从 VSS 迁移到Team Foundation Server

    TFS 2012自带了vss upgrade wizard工具, 在Team Foundation Server管理控制台左侧的最后一个菜单其他工具和组件中,选择Visual SourceSafe升级 ...

  3. TFS(Team Foundation Server)介绍和入门

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...

  4. TFS(Team Foundation Server)简介和新手入门

    在两部分的文章.我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用. 作为一个软件开发.在我的职业生涯,.我常常用于支持软件开发过程中大量的 ...

  5. Team Foundation Server 2010简体中文版

    文件名称:Team Foundation Server 2010简体中文版 文件大小:1.8 GBhttp://www.google.com/profiles/dedecms.com 下载地址: th ...

  6. Team Foundation Server简介

    对于任何一个软件开发团队而言,成功的一个重要因素在于成员之间.成员与首先使用软件的用户之间有很好的沟通. Team Foundation Server是一个独立的服务器产品,逻辑上,由下列两层组成,这 ...

  7. 你好,Azure DevOps Server 2019;再见,Team Foundation Server

    微软正式发布Azure DevOps Server 2019的第一个版本,作为Team Foundation Server (TFS)2018的升级版本和替代产品. 这是目前市面上唯一一款将产品名称冠 ...

  8. Visual Studio 6 (VC6)连接Team Foundation Server (TFS 2018),实现源代码的版本管理

    1. 概述 Visual Studio 6(VB6, VC6, Foxpro-)是微软公司在1998年推出的一款基于Windows平台的软件开发工具,也是微软推出.NET开发框架之前的最后一个IDE工 ...

  9. PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理

    PL/SQL是面向Oralcle数据库的集成开发环境,是众多Oracle数据库开发人员的主要工具.由于PL/SQL(百度百科)不仅是一种SQL语言,更是一种过程编程语言,在项目实施过程中,会积累大量除 ...

随机推荐

  1. 2018.08.30 NOIP模拟 kfib(矩阵快速幂+exgcd)

    [输入] 一行两个整数 n P [输出] 从小到大输出可能的 k,若不存在,输出 None [样例输入 1] 5 5 [样例输出] 2 [样例解释] f[0] = 2 f[1] = 2 f[2] = ...

  2. flex 分页

    <?xml version="1.0" encoding="utf-8"?><s:Group xmlns:fx="http://ns ...

  3. UVaLive 2531 The K-League (网络流)

    题意:有 n 个队伍进行比赛,每个队伍比赛数目是一样的,每场恰好一个胜一个负,给定每个队伍当前胜的场数败的数目,以及两个队伍剩下的比赛场数,问你冠军队伍可能是哪些队. 析:对每个队伍 i 进行判断是不 ...

  4. Java 增强 for 循环

    Java 增强 for 循环 Java5 引入了一种主要用于数组的增强型 for 循环. Java 增强 for 循环语法格式如下: for(声明语句 : 表达式) { //代码句子 } 声明语句:声 ...

  5. "请求被中止: 未能创建 SSL/TLS 安全通道"解决办法

    1.安装证书: 手动双击证书安装,过程略 2.分配权限: 在控制台中找到安装的证书,右键选择“管理私钥”, 添加自己需要的权限,如果在测试可以直接添加Everyone 3.修改代码:public st ...

  6. c++内存管理方式

    概述 本章总结一些关于个人对内存管理的理解,主要包括如下内容: 内存管理原则 优秀的接口 智能指针的作用在哪里? 内存管理原则 学c++的同学都知道这个内存管理原则,就是“谁创建,谁释放”或者说“谁申 ...

  7. 软件工程项目基于java的wc实现

    WC软件工程项目JAVA实现博客 github地址:https://github.com/liudaohu/myrepository.git 功能实现 ·    -w 统计单词数 -c 统计字符数 - ...

  8. EBS FORM 编译

    http://www.cnblogs.com/quanweiru/archive/2013/01/01/2841574.html EBS R11============================ ...

  9. [Openwrt 项目开发笔记]:Openwrt必要设置(二)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 前面的两篇blog中,我将如何搭建Openwrt ...

  10. [LeetCode 题解]: Binary Tree Preorder Traversal

    前言   [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html   1.题目描述 Given a bi ...