TFS 2010将备份还原到数据库服务器。客户端接收HRESULT E_FAIL

我最近恢复了我的TFS 2010部署的数据库部分,目前当客户打开旧工作项时,他们得到错误:

错误HRESULT E_FAIL已从调用COM组件返回。

显然这是一个caching问题,我已经尝试了以下内容。 浏览到https://hostname/workitemtracking/v3.0/clientservice.asmx ,然后点击StampWorkItemCache,然后是Invoke。

这转而产生错误:

无法生成临时类(结果= 1)。 错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemLinkChange.SourceID'不能被分配给 – 它是只读错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemLinkChange.TargetID'不能是分配给 – 它是只读错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemLinkChange.LinkType'不能被分配给 – 它是只读错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking。 Server.WorkItemLinkChange.IsActive'不能分配给 – 它是只读错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemLinkChange.ChangedDate'不能被分配给 – 它是只读错误CS0200:属性或索引器'Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemLinkChange.RowVersion'不能被分配给 – 它是只读的

有任何想法吗?

我不确定你是否已经解决了这个问题,但你需要完成两个步骤:

  • 更改还原的集合的服务器ID
  • 重build仓库中的数据

要将服务器标识日志更改到安装了应用程序层的服务器上,请在命令窗口中浏览到%ProgramFiles%\ Microsoft Team Foundation Server 2010 \ Tools \并运行以下命令:

TfsConfig changeServerId / sqlInstance:[sqlInstance] / databaseName:[databaseName] / projectCollectionsOnly

我已经添加了projectCollectionsOnly开关,因为我假定你已经恢复了一个TFS集合数据库。

要重build仓库,请运行以下命令(这将需要完成,否则最终会在TFS_Warehouse中产生重复的工作项)

TfsConfig rebuildWarehouse / all

希望有所帮助。

萨马德