前天迁移TFS2010的虚拟机,重新映射了数据库服务器后没有发现任何问题。但是今早访问对应Web站点,点击任何一个工作项都提示:error HRESULT E_FAIL has been returned from a call to a COM component。但通过Visual Studio依然可以操作任何工作项。在MSDN的一篇名为Creating a new server from an old one: Beware of the InstanceId找到了解决方案:
1、停止IIS。
2、在cmd窗口中cd TFS2010 tools的安装目录,例如:C:\Program Files\Microsoft Team Foundation Server 2010\Tools。
3、执行:tfsconfig changeserverid /sqlinstance: /databasename:Tfs_Configuration。
4、执行:tfsconfig registerdb /sqlinstance: /databaseName:Tfs_Configuration。
5、重新启动IIS。
在原文章中提到需要再次执行命令net start tfsjobagent,实际上第四步完成后tfsjobagent会重新启动。
Creating a new server from an old one: Beware of the InstanceId:http://blogs.msdn.com/b/buckh/archive/2006/10/17/creating-a-new-server-from-an-old-one-beware-of-the-instanceid.aspx