先说下此片博客的上下文:部门所在的业务被集团出售,因此我们所有的计算机和服务器都得重新命名,退出当前域加入新公司的域。对于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. Django入门指南-第8章:第一个测试用例(完结)

    python manage.py test python manage.py test --verbosity=2 # boards/tests.py from django.core.urlreso ...

  2. HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)

    题意:让求从2992-9999中所有数字,满足10进制各位之和和12进制和16进制各位数字之和相等. 析:没啥可说的,只能枚举从2992-9999,每个进制都算一下. 代码如下: #include & ...

  3. java @option之args4j

    args4j简介 args4j是一个用来配置命令行的工具. 在实际的项目中用到命令行的并不是很常见,但当真正使用到时,特别是在程序启动时配置一下参数的时候就很有用了,如果参数很多的话,一个一个解析命令 ...

  4. jaxws.xsd

    示例: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://ww ...

  5. opengl中场景变换|2D与3D互转换(转)

    opengl中场景变换|2D与3D互转换 我们生活在一个三维的世界——如果要观察一个物体,我们可以: 1.从不同的位置去观察它.(视图变换) 2.移动或者旋转它,当然了,如果它只是计算机里面的物体,我 ...

  6. 无限存储之胖文本数据库TTD(Thick Text Database)

    无限存储之胖文本数据库TTD(Thick Text Database) 阅读:  评论:  作者:Rybby  日期:  来源:rybby.com 所谓的“胖”就是多.大.丰富的意思,像我们平时看到的 ...

  7. hibernate 延迟加载深入分析(persistentSet的延迟加载)

    Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载.Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hiberna ...

  8. Delphi Language Overview

    Delphi is a high-level, compiled, strongly typed language that supports structured and object-orient ...

  9. Linq的基本用用法

    Linq 的基本用法: Sort , OrderBy, Skip,Take,Where,Compare,Join,Distinct ,InsertRange 等关键词 Select用法 var sel ...

  10. Javascript设计模式理论与实战:享元模式

    享元模式不同于一般的设计模式,它主要用来优化程序的性能,它最适合解决大量类似的对象而产生的性能问题.享元模式通过分析应用程序的对象,将其解析为内在数据和外在数据,减少对象的数量,从而提高应用程序的性能 ...