为 Team Foundation Server 手动处理数据仓库和 Analysis Services 多维数据集

当你在报表中需要最新数据时,当发生错误时,或者当你解决架构冲突之后,你可以手动处理 Team Foundation Server (TFS) 关系数据库 (Tfs_Warehouse) 或 SQL Server Analysis Services 多维数据集 (Tfs_Analysis)。

在典型操作过程中,在对操作存储区做出更改后两分钟内便会处理仓库,而多维数据集每两个小时处理一次。 通过手动处理仓库,可帮助确保使用依赖于仓库的数据及时更新查询和报表。

你应使用仓库控制 Web 服务来处理仓库或多维数据集,或执行其他维护操作。 如果知道要对两个数据库执行完全重新生成,请使用管理控制台TFSConfig RebuildWarehouse 命令

“仓库控制 Web 服务”页

备注

请勿使用 SQL Server Management Studio (SSMS) 来手动处理多维数据集。不支持使用该工具处理多维数据集。

处理仓库或多维数据集

处理仓库或多维数据集取决于数据量的多少;可能会花费数分钟或数小时。 在处理这两种数据库之前,请确定同步作业或要执行的作业的处理状态。 请确保状态返回**“空闲”**

访问 Web 服务

  1. 如果你不是 TFS 应用层上的**“管理员”**安全组成员,请立即加入该组。

    另外,请确保你的服务器级别 Administer warehouse 权限必须设置为 Allow

  2. 登录到应用层服务器,然后在支持的 Web 浏览器中输入下列 URL 以打开仓库控制 Web 服务:

    https://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

    如果虚拟目录使用了除 tfs 之外的名称,则输入安装 Team Foundation Server 时指定的 IIS 虚拟目录。

  3. 此时将打开**“WarehouseControlWebService”**页。

    备注

    如果未打开此页面,请验证 Microsoft Team Foundation Server 应用程序池正在运行。

检查进程状态

  • 选择**“GetProcessingStatus”**。

    获取处理状态

    此时将打开一个新的浏览器窗口。 它会指示以下作业的处理状态:

    • 公共结构仓库同步

    • 完整分析数据库同步

    • 增量分析数据库同步

    此外,还会针对每个团队项目集合提供以下作业的状态:

    • 生成仓库同步

    • 公共结构仓库同步

    • 测试管理仓库同步

    • 版本控制仓库同步

    • 工作项跟踪仓库同步

    值**“空闲”指示同步作业当前未运行。 仅当这些作业的处理状态是“空闲”时,才应处理数据仓库或多维数据集。 如果返回其他值,请重复此步骤,直到针对要处理的作业返回“空闲”**。

处理数据仓库

  1. 选择**“ProcessWarehouse”,并且可以选择指定要处理的团队项目集合。 如果将“collectionName”**留空,则将处理所有集合。

    当该服务成功启动仓库的处理时,会返回**“True”;如果未成功,则返回“False”。 值“False”**指示当前正在处理仓库。

  2. 若要确定仓库的处理状态,请按照前文检查进程状态中所述选择**“GetProcessingStatus”**。

    当**“GetProcessingStatus”服务返回“空闲”值,并且“公共结构仓库同步”和各团队项目集合的每个仓库返回“已成功”**值时,即表示仓库处理完成。

处理 Analysis Services 多维数据集

  1. 选择**“ProcessAnalysisDatabase”**。

  2. 对于**“processingType”**,请键入 Incremental 或 Full。

    如果指定 Incremental,则仅在数据是自最近处理以来所添加的数据时,才会处理。

    如果指定 Full,则会处理所有数据,如同重新生成仓库一样。 执行完整处理的时间较长,仅当在需要时才应执行这种处理(例如,在移除或删除团队项目或项目集合时)。

    当该服务成功启动多维数据集的处理时,会返回**“True”;如果未成功,则返回“False”。 值“False”**指示当前正在处理多维数据集。

  3. 若要确定仓库的处理状态,请按照前文检查进程状态中所述选择**“GetProcessingStatus”**。

    当**“GetProcessingStatus”服务返回“空闲”值,并且以下作业返回“已成功”**值时,即表示多维数据集处理完成。

    • 完整分析数据库同步

    • 增量分析数据库同步

处理扩展容量的维度

当收到以下错误消息时,你应该运行 ProcessDimensionsForExpandedCapacity Web 服务:

Microsoft.TeamFoundation.Warehouse.WarehouseException: TF221122: An error occurred running job Full Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION.

Microsoft.TeamFoundation.Warehouse.WarehouseException: Failed to Process Analysis Database 'Tfs_Analysis'.

Microsoft.TeamFoundation.Warehouse.WarehouseException: File system error: A string store or binary store with a compatibility level of '1050' is at the maximum file size of 4 gigabytes. To store additional strings, you can change the StringStoresCompatibilityLevel property of the associated dimension or distinct count measure to '1100' and reprocess. This option is only available on databases with a compatibility level of '1100' or higher.

Physical file: \\? \I:\OLAP\Data\Tfs_Analysis.0.db\vDimWorkItemOverlay.5.dim\7.WorkItemSK.asstore.

此服务会对命名维度将 StringStoresCompatibilityLevel 更改为 1100 并执行完全的多维数据集重新处理。

  1. 在仓库控制 Web 服务中,选择**“ProcessDimensionForExpandedCapacity”**。

  2. 输入维度的名称。 在以上错误消息中,维度名是 vDimWorkItemOverlay。

  3. 在成功将值重置为 1100 后,此服务将返回**“True”**。

    请等待,直至多维数据集处理成功完成。

问题解答

Ff400237.collapse_all(zh-cn,VS.140).gif何时应处理数据库而不是重新生成?

**答:**手动处理数据库的原因包括:

  • 当报表不显示最新数据,而你需要最新数据来参加即将举行的会议时,应以增量方式处理多维数据集。

  • 处理数据仓库内的每个团队项目集合,以便验证已解决所有架构冲突。

  • 处理数据仓库内的每个团队项目集合,以便收集信息来诊断事件查看器中显示的、与仓库作业有关的问题。

当你对 TFS 数据层服务器进行移动、还原、重命名或故障转移操作时,应该全面地重新生成仓库和多维数据集。

Ff400237.collapse_all(zh-cn,VS.140).gif问:如何更改刷新处理间隔或其他处理参数?

**答:**请参阅管理 TFS 报表、数据仓库和 Analysis Services 多维数据集

Ff400237.collapse_all(zh-cn,VS.140).gif问:从哪里可以了解有关如何解决架构冲突的更多信息?

**答:**请参阅解决数据仓库中发生的架构冲突