TFS2013:构建仓库同步作业失败
TFS2013: Build Warehouse Sync Job Failed
我在 6 个集合中的 1 个集合中遇到跟随失败错误。其他 5 个集合正在执行此工作而没有失败。我尝试使用 WarehouseControlWebService 手动 运行 它,但它不起作用。有关解决此问题的任何帮助。我知道 SQL 端正在工作,因为其他端 运行 没有出错。
作业 JobProcessingStatus="Idle" 名称="Build Warehouse Sync"
上次运行结果="Failed" EndTimeUtc="2016-05-26T01:13:03.253Z" ExecutionStartTimeUtc="2016-05-26T00:52:57.857Z" QueueTimeUtc="2016-05-26T00: 52:57.603Z
[Build Warehouse Sync]:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:发生错误运行正在为团队项目集合或 Team Foundation 服务器 Collection2 构建仓库同步作业。 ---> System.OutOfMemoryException:抛出 'System.OutOfMemoryException' 类型的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable
1 项,布尔值允许更新)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac,WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension
1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) --- 内部异常堆栈跟踪结束 ---
您可以尝试rebuild the TFS data warehouse and cube看看问题是否仍然存在。请注意,根据数据仓库中的数据量,重建操作可能需要几个小时才能完成,在此期间报告不可用。
在 Microsoft 的帮助下,我们不得不修改作业的批量大小。下面是我所做的笔记。调整几次大小并允许它运行后它被清除了。
在配置数据库中使用此查询来确定要修改的集合数据库的 HostID
Select *
来自 tbl_ServiceHost
样本:
hostid 名称
185C91E1-2EB5-4C9C-AE97-26B757DE951B 测试未生成
AD455D2B-7A84-4BF6-A8F2-594895066472 DefaultCollection
8F2ECA36-47BE-4244-B4C7-E2AABC7693FE 团队基金会
8D9C0BCE-19AB-425B-8D27-ECDE6573A493 新
所以要使用 DefaultCollection,我们需要 HostId:AD455D2B-7A84-4BF6-A8F2-594895066472
将 HostID 输入到仓库数据库中 运行 的插入查询中:
插入[_属性包]
(
[Property_Scope],
[Property_Key],
[Property_Value]
)
价值观
(
' AD455D2B-7A84-4BF6-A8F2-594895066472', -- 来自 tbl_ServiceHost 的主机 ID
'/Adapter/Config/TeamBuild/BatchSize', -- 属性 to Update, 这是Build Warehouse Sync的关键
'100' -- 新批量大小(默认 2000)
)
我们想把它降低到一个非常小的数字,然后让它达到 运行 并确保它 运行 成功,如果没有,我们可以将它降低到 1 并尝试,如果是这样,如果您想提高处理速度,我们可以(由您自行决定)将其移回原位。
最好停止所有仓库同步作业和 运行 有问题的第 1 个作业。它需要时间来解决问题。确保数据库由 TFS_Warehouse.
创建
这用于修复以下错误:
构建仓库同步:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:发生错误运行正在为团队项目集合或团队基础服务器 AS 构建仓库同步作业。 ---> System.OutOfMemoryException:抛出类型 'System.OutOfMemoryException' 的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable
1 项,布尔值允许更新)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac,WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension
1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) — 内部异常堆栈跟踪结束 ---
我在 6 个集合中的 1 个集合中遇到跟随失败错误。其他 5 个集合正在执行此工作而没有失败。我尝试使用 WarehouseControlWebService 手动 运行 它,但它不起作用。有关解决此问题的任何帮助。我知道 SQL 端正在工作,因为其他端 运行 没有出错。
作业 JobProcessingStatus="Idle" 名称="Build Warehouse Sync"
上次运行结果="Failed" EndTimeUtc="2016-05-26T01:13:03.253Z" ExecutionStartTimeUtc="2016-05-26T00:52:57.857Z" QueueTimeUtc="2016-05-26T00: 52:57.603Z
[Build Warehouse Sync]:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:发生错误运行正在为团队项目集合或 Team Foundation 服务器 Collection2 构建仓库同步作业。 ---> System.OutOfMemoryException:抛出 'System.OutOfMemoryException' 类型的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable
1 项,布尔值允许更新)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac,WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension
1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) --- 内部异常堆栈跟踪结束 ---
您可以尝试rebuild the TFS data warehouse and cube看看问题是否仍然存在。请注意,根据数据仓库中的数据量,重建操作可能需要几个小时才能完成,在此期间报告不可用。
在 Microsoft 的帮助下,我们不得不修改作业的批量大小。下面是我所做的笔记。调整几次大小并允许它运行后它被清除了。
在配置数据库中使用此查询来确定要修改的集合数据库的 HostID
Select *
来自 tbl_ServiceHost
样本:
hostid 名称 185C91E1-2EB5-4C9C-AE97-26B757DE951B 测试未生成 AD455D2B-7A84-4BF6-A8F2-594895066472 DefaultCollection 8F2ECA36-47BE-4244-B4C7-E2AABC7693FE 团队基金会 8D9C0BCE-19AB-425B-8D27-ECDE6573A493 新
所以要使用 DefaultCollection,我们需要 HostId:AD455D2B-7A84-4BF6-A8F2-594895066472
将 HostID 输入到仓库数据库中 运行 的插入查询中:
插入[_属性包]
(
[Property_Scope],
[Property_Key],
[Property_Value]
)
价值观
(
' AD455D2B-7A84-4BF6-A8F2-594895066472', -- 来自 tbl_ServiceHost 的主机 ID
'/Adapter/Config/TeamBuild/BatchSize', -- 属性 to Update, 这是Build Warehouse Sync的关键
'100' -- 新批量大小(默认 2000)
)
我们想把它降低到一个非常小的数字,然后让它达到 运行 并确保它 运行 成功,如果没有,我们可以将它降低到 1 并尝试,如果是这样,如果您想提高处理速度,我们可以(由您自行决定)将其移回原位。
最好停止所有仓库同步作业和 运行 有问题的第 1 个作业。它需要时间来解决问题。确保数据库由 TFS_Warehouse.
创建这用于修复以下错误:
构建仓库同步:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:发生错误运行正在为团队项目集合或团队基础服务器 AS 构建仓库同步作业。 ---> System.OutOfMemoryException:抛出类型 'System.OutOfMemoryException' 的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable
1 项,布尔值允许更新)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac,WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension
1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) — 内部异常堆栈跟踪结束 ---