【原创】Team Foundation Server 域环境迁移
先说下此片博客的上下文:部门所在的业务被集团出售,因此我们所有的计算机和服务器都得重新命名,退出当前域加入新公司的域。对于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)来登录服务器,确保该账号拥有以下权限:
- Servers: Administrators (local Administrators group or equivalent)
- TFS: Team Foundation Administrators and Admin Console Users
- SQL Server: sysadmin
- 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,:
- 实例名:CNXA1ERES-VM99
- 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 Administrator, WSS_WPG, WSS_ADMIN & IIS_WPG
13. 更新WSS的一些配置:
Run cmd as admin.
- Cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
- stsadm –o renameserver –oldservername cnxa1eres-vm31 –newservername cnxa1eres-vm99
- stsadm -o updatefarmcredentials -userlogin Touchpoint\administrator -password Password1
- stsadm -o updateaccountpassword –noadmin -userlogin Touchpoint\administrator -password Password1
- stsadm.exe -o spsearch -farmserviceaccount Touchpoint\administrator -farmservicepassword Password1 (execute failed)
- stsadm.exe -o spsearch -farmcontentaccessaccount Touchpoint\administrator –farmcontentaccesspassword Password1(execute failed)
- stsadm.exe -o editssp -title SharedServicesProviderName -ssplogin Touchpoint\administrator -ssppassword Password1(execute failed)
- stsadm.exe -o osearch -farmserviceaccount Touchpoint\administrator -farmservicepassword Password1(execute failed)
- 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
- 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 域环境迁移的更多相关文章
- 在域信任环境中使用 Team Foundation Server (TFS 2013)
原文:在域信任环境中使用 Team Foundation Server (TFS 2013) 1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质 ...
- 如何从 VSS 迁移到Team Foundation Server
TFS 2012自带了vss upgrade wizard工具, 在Team Foundation Server管理控制台左侧的最后一个菜单其他工具和组件中,选择Visual SourceSafe升级 ...
- TFS(Team Foundation Server)介绍和入门
在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...
- TFS(Team Foundation Server)简介和新手入门
在两部分的文章.我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用. 作为一个软件开发.在我的职业生涯,.我常常用于支持软件开发过程中大量的 ...
- Team Foundation Server 2010简体中文版
文件名称:Team Foundation Server 2010简体中文版 文件大小:1.8 GBhttp://www.google.com/profiles/dedecms.com 下载地址: th ...
- Team Foundation Server简介
对于任何一个软件开发团队而言,成功的一个重要因素在于成员之间.成员与首先使用软件的用户之间有很好的沟通. Team Foundation Server是一个独立的服务器产品,逻辑上,由下列两层组成,这 ...
- 你好,Azure DevOps Server 2019;再见,Team Foundation Server
微软正式发布Azure DevOps Server 2019的第一个版本,作为Team Foundation Server (TFS)2018的升级版本和替代产品. 这是目前市面上唯一一款将产品名称冠 ...
- Visual Studio 6 (VC6)连接Team Foundation Server (TFS 2018),实现源代码的版本管理
1. 概述 Visual Studio 6(VB6, VC6, Foxpro-)是微软公司在1998年推出的一款基于Windows平台的软件开发工具,也是微软推出.NET开发框架之前的最后一个IDE工 ...
- PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理
PL/SQL是面向Oralcle数据库的集成开发环境,是众多Oracle数据库开发人员的主要工具.由于PL/SQL(百度百科)不仅是一种SQL语言,更是一种过程编程语言,在项目实施过程中,会积累大量除 ...
随机推荐
- 2018.07.01洛谷P2617 Dynamic Rankings(带修主席树)
P2617 Dynamic Rankings 题目描述 给定一个含有n个数的序列a[1],a[2],a[3]--a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i ...
- 2018.09.14 codechef Milestone(随机化算法)
传送门 由于存在不超过7条直线可以覆盖超过所有的点. 所以如果我们随机选点的话(每次随机两个) 那么得到的解恰好为最优解的概率是149" role="presentation&qu ...
- Python 学习目录
第一章 Python基础 第二章 Python基础 第三章 Python基础-文件操作&函数 1.python文件处理 2.py-函数基础 3.py-函数进阶 第四章 Python基础-常用模 ...
- C# Timer类
C# 有三种不同的Timer类 1.Threading.Timer 2.Timer.Timer 3.Forms.Timer using System; using System.Collections ...
- 导出delphi编写的ios程序在xcode下的日志
- jvm 中的 ”永生代“
“方法区” 主要存储的信息包括:常量信息,类信息,方法信息,而且是全局共享的(多线程共享): jvm 有多种实现方式(不同的厂商): 并不是所有的jvm 都有永生代的概念: 通常情况下, 很多人把 “ ...
- matlab 降维工具箱
Matlab Toolbox for Dimensionality Reduction 降维方法包括: Principal Component Analysis (PCA) • Probabili ...
- JPA注解指南
PA注解持久化类很方便,需要jar包:ejb3-persistence.jar.我用以下三个类来说明用法. @SuppressWarnings("serial") @Entity ...
- 一个简单的QQ隐藏图生成算法
隐藏图不是什么新鲜的东西,具体表现在大部分社交软件中,预览图看到的是一张图,而点开后看到的又是另一张图.虽然很早就看到过这类图片,但是一直没有仔细研究过它的原理,今天思考了一下,发现挺有趣的,所以自己 ...
- RTOS双向链表数据结构
在学习RTOS操作系统时,在任务优先级设置时用到了双向链表,说实话数据结构的东西只是停留在大学上课阶段,并未实践过,在操作系统中看得云里雾里,遂将其单独拿来了进行了一下思考,经过一个上午的摸索逐渐领会 ...