TFS 2010 将备份恢复到数据库服务器..客户端收到 HRESULT E_FAIL

TFS 2010 将备份恢复到数据库服务器..客户端收到 HRESULT E_FAIL

我最近恢复了 TFS 2010 部署的 DB 部分,目前当客户端打开旧工作项时会出现错误:

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

显然这是一个缓存问题,我尝试了以下方法。浏览到https://主机名/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”——它是只读的

有任何想法吗?

答案1

我不确定您是否已解决此问题,但您需要完成两个步骤:

  • 更改已恢复集合的服务器 ID
  • 重建仓库内的数据

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

TfsConfig changeServerId /sqlInstance:[sqlInstance] /databaseName:[数据库名称] /projectCollectionsOnly

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

要重建仓库,请运行以下命令(必须执行此操作,否则您将在 TFS_Warehouse 中得到重复的工作项):

TfsConfig 重建仓库 /all

希望有所帮助。

萨马德

相关内容