重新生成 TFS 数据仓库和多维数据集

每当移动、还原、重命名或故障转移 Team Foundation Server (TFS) 中的数据层服务器时,都必须重新生成仓库和多维数据集才能访问高级别报告。 此外,如果移动、附加、分离或删除团队项目集合,必须重新生成仓库和多维数据集。

数据仓库聚合了所有操作数据,如版本控制、工作项跟踪、生成和测试。 仓库对应于相关数据库 Tfs_Warehouse,而多维数据集对应于 SQL Server Analysis Services 数据库 Tfs_Analysis。

在正常操作期间,不一定非要重新生成数据仓库。 如果要刷新数据仓库数据,你可以根据需要手动处理仓库或多维数据集。 请参阅手动处理 TFS 数据仓库和 Analysis Services 多维数据集。 根据数据仓库中的数据量,重新生成操作可能需要几个小时才能完成,在这段时间内报告不可用。

要重新生成 Team Foundation 的数据仓库,必须执行此步骤顺序:

  1. 验证服务和应用程序池是否正在运行,并且 SQL Server 中是否启用了 TCP/IP

  2. 重新生成数据仓库

  3. 验证是否可以访问报告

要求

你必须是以下安全组的成员或具有相应权限:

  • 运行 SQL Server 的实例的服务器上的 sysadmin 安全组,且此实例承载 Team Foundation Server 的数据库

  • sysadmin esprfound 的 Analysis Services 数据库的服务器上的安全组Team Foundation

  • Tfs_Warehouse 关系数据库和 TFSEXECROLE 数据库角色

  • 运行 Team Foundation 的管理控制台的服务器上的 Team Foundation Administrators 安全组和“管理”安全组

  • 必须将服务器级 Administer warehouse 权限设置为 Allow

  • 必须将团队项目上的“查看项目级信息”权限设置为“允许”才能运行和查看报告。 此外,你还必须是 SQL Server 报告服务中“浏览器”角色中的成员

有关详细信息,请参阅添加帐户以管理 TFS

除了这些权限之外,对于运行 Windows Server 2008 或 Windows Vista 的计算机,你可能还需满足以下要求:

  • 若要执行命令行程序,你可能需要按以下方式打开提升的命令提示符:选择“开始”,打开“命令提示符”的上下文菜单,然后选择“以管理员身份运行”。

  • 若要执行需要 Internet Explorer 的程序,你可能需要按以下方式将其作为管理员启动:选择“开始”,“所有程序”,打开 Internet Explorer 的上下文菜单,然后选择“以管理员身份运行”。

  • 若要访问 Reporting Services 的报表管理器、报表或网站,你可能需要将这些网站添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。

有关详细信息,请参阅用户帐户控制

借助于重新生成操作,你可以重新创建关系数据库和多维数据集。 TFS 重新生成操作数据存储中的关系数据库。 然后,将重新创建 SQL Server Analysis Services 多维数据集并处理多维数据集以便通过使用关系数据库中的数据进行填充。 如果你只想重新生成多维数据集,则可以使用 TFSConfig RebuildWarehouse 命令行工具。 请参阅RebuildWarehouse 命令

1.验证服务和应用程序池是否正在运行,并且 SQL Server 中是否启用了 TCP/IP

要完成此程序中的步骤,必须运行 SQL Server 所需的服务。 停止 Reporting Services,以便在重新生成数据仓库时用户不会访问报告。 此外,对于双服务器部署,必须为每个 SQL Server 数据库的实例启用 TCP/IP 协议。

默认情况下,安装 SQL Server 时会禁用 TCP/IP。

  1. 登录到相应服务器,打开“计算机管理器”,然后验证下表中的服务和应用程序池是否正在运行:

    登录到承载此程序的服务器

    组件

    SQL Server Analysis Services

    • SQL Server Analysis Services(MSSQLSERVER 或 TFSInstance)。

    Team Foundation数据库

    • SQL Server(MSSQLSERVER 或 TFSInstance)。

    • SQL Server 代理(MSSQLSERVER 或 TFSInstance)。

    应用层

    • Microsoft Team Foundation Server 应用程序池。

    有关详细信息,请参阅停止和启动服务、应用程序池及网站

  2. 登录到承载 Reporting Services 的服务器,并停止 SQL Server Reporting Services (TFSINSTANCE) 服务。

  3. 确保已为数据层服务器上 SQL Server 启用了 TCP/IP。 有关详细信息,请参阅对数据库实例启用 TCP/IP 协议

2.重新生成数据仓库并重启服务

  1. 打开 Team Foundation 的 Team Foundation 管理员控制

  2. 在“应用层 > 报表”下,选择“开始重新生成”。

    将打开“转为脱机”对话框。

  3. 选择“确定”以使数据仓库和 Analysis Services 多维数据集脱机。

    将打开“重新生成仓库和 Analysis Services 数据库”对话框。

  4. 选择“确定”以启动重新生成过程。

    重新生成仓库或多维数据集时,TFS 将执行这一系列操作:

    • 使数据库脱机。

    • 删除这两个数据库的架构。

    • 重新创建这两个数据库的架构。

    • 将这两个数据库恢复为联机状态。

    • 重新启动仓库适配器作业。

    • 根据其定期处理时间间隔处理多维数据库。

    重新生成过程首先从仓库开始,然后才是多维数据集。 重新生成数据库所需的时间取决于数据仓库中存储的数据量。 重新生成数据库后,将自动开始处理数据库作业。

    备注

    当重新生成仓库和多维数据集时,Team Foundation 的管理控制台可能会停止响应。你可能需要在重新生成仓库和多维数据集后刷新管理控制台。

  5. (可选)若要检查重新生成过程的状态,可以使用仓库控制 Web 服务。 有关详细信息,请参阅手动处理 TFS 数据仓库和 Analysis Services 多维数据集

  6. 登录到承载 Reporting Services 的服务器,打开计算机管理器,然后启动 SQL Server Reporting Services (TFSINSTANCE) 服务。

3.验证是否可以访问报告

  1. 登录到承载 Reporting Services 的服务器,打开 Internet Explorer,在“地址”栏键入以下字符串,然后按 ENTER:

    https://localhost/Reports

    备注

    你可能需要按以下方式要以管理员身份启动 Internet Explorer:选择“开始”,“所有程序”,打开 Internet Explorer 的上下文菜单,然后选择“以管理员身份运行”。

    如果已经在数据层服务器上部署了命名的实例,则键入以下字符串:

    **https://localhost/Reports_**TFSInstance

  2. 在“内容”下,选择“TFSReports”,选择存储团队项目的团队项目集合文件夹,选择团队项目对应的文件夹,然后选择包含要查看的报表的文件夹。

  3. 选择包含要查看的报表的文件夹。

  4. 选择一个报表,并验证该报表是否显示正确。

  5. 检查最后一次更新报表时的日期。 此信息显示在报表的左下角。

问题解答

问:如何解决架构冲突?

**答:**如果遇到架构冲突,不能通过重新生成数据仓库来解决此冲突。 而是应该首先解决架构冲突,然后重新生成数据仓库。 请参见解决数据仓库中发生的架构冲突

问:如果在重新生成或处理数据仓库时出现失败错误,应该如何解决?

**答:**以下操作可能导致失败错误。

  • 你可以手动修改 TFS 数据库或编辑 SQL 表。 你不应该手动修改任何 TFS 数据库,除非 Microsoft 支持人员指示你执行此操作,或者你遵循手动备份数据库(手动备份 Team Foundation Server)中的所述过程进行操作。 任何其他修改都可能使你的服务协议失效,块升级和修补程序无效,并导致数据丢失或损坏。

  • 分离/附加操作将会导致团队项目集合配置错误。 例如,一个集合可能会附加到两个不同的数据层服务器,这是不受支持的。 更正配置并重新生成数据库可以解决这些错误。

  • 你执行了一项不受支持的备份或还原操作,如备份和还原 TFS中所述。

问:如何添加 Reporting Services?

**答:**如果未将你的本地 TFS 配置为支持报告,则你可以添加报告。 请参阅向团队项目中添加报表

问:如何修改报告配置?

**答:**要修改团队项目的报告配置,可以使用管理控制台“报告”页面上提供的“编辑”功能Team Foundation。

编辑信息以配置报告

问:在重新生成前被清除或损坏的的数据会发生什么?

**答:**已从数据库中永久删除的、与生成或工作项关联的数据将在重新生成时从数据仓库中永久删除。

此外,仓库或多维数据集中来源于第三方源的数据也可能丢失。 尽管大多数第三方工具都能重新发布数据,但该功能取决于各个供应商。 请与供应商联系以确定哪些(如果有的话)数据可能会丢失。

有关删除生成时不会从数据库删除的数据类型的详细信息,请参阅此博客文章

删除生成并不会删除数据库中的所有关联数据。 为此,必须销毁所有生成。 可使用 TFSBuild destroy 命令销毁生成 和节省数据仓库中的空间。

请参见

参考

RebuildWarehouse 命令

概念

TFS 数据仓库的组件

管理 TFS 报表、数据仓库和 Analysis Services 多维数据集