重建 TFS 資料倉儲和 Cube

無論您何時移動、還原、重新命名或容錯移轉 Team Foundation Server (TFS) 的資料層伺服器,都必須重建倉儲和 Cube 來存取高階的報告。 此外,若您移動、附加、中斷連結或刪除 Team 專案集合,便須重建倉儲和 Cube。

資料倉儲彙總所有的操作資料,例如版本控制、工作項目追蹤、組建和測試。 倉儲會對應到關聯式資料庫 Tfs_Warehouse,而 Cube 會對應到 SQL Server Analysis Services 資料庫 Tfs_Analysis。

您不需要在一般作業期間重建資料倉儲。 若要重新整理資料倉儲的資料,可以視需要手動處理倉儲和 Cube。 請參閱 手動處理 TFS 資料倉儲和 Analysis Services Cube。 根據資料倉儲中的資料量,重建作業可能會花數個小時才能完成,在這段期間無法使用報告。

若要重建 Team Foundation 的資料倉儲,您必須執行下列幾個步驟:

  1. 請確認服務和應用程式集區正在執行,而且已為 SQL Server 啟用 TCP/IP

  2. 重建資料倉儲

  3. 確認可存取報告

需求

您必須是下列安全性群組的成員或擁有對應的權限:

  • 一或多部執行 SQL Server 執行個體 (此執行個體裝載 Team Foundation Server 資料庫) 之伺服器上的 sysadmin 安全性群組

  • sysadmin Analysis Services 資料庫之伺服器上的安全性群組Team Foundation

  • Tfs_Warehouse 關聯式資料庫和 TFSEXECROLE 資料庫角色

  • 一或多部執行 Team Foundation 管理主控台之伺服器上的 Team Foundation Administrators 安全性群組和 [Administrators] 安全性群組。

  • 您的伺服器層級 Administer warehouse 權限必須設為 Allow

  • 您在 Team 專案上的檢視專案層級資訊權限必須設為允許,才能執行及檢視報告。 此外,您必須是 SQL Server Reporting Services 中的瀏覽器角色成員

如需詳細資訊,請參閱加入帳戶以管理 TFS

除了這些權限之外,在執行 Windows Server 2008 或 Windows Vista 的電腦上,您可能必須滿足下列需求:

  • 若要遵循命令列的程序,您可能需要選擇 [開始],開啟 [命令提示字元] 的內容功能表,並選擇 [以系統管理員身分執行],才能開啟更高的命令提示字元。

  • 若要遵循需要 Internet Explorer 的程序,您可能需要選擇 [開始]、[所有程式],開啟 Internet Explorer 上的內容功能表,並選擇 [以系統管理員身分執行],才能以系統管理員身分將其啟動。

  • 若要存取 Reporting Services 的報表管理員、報表或網站,您可能需要將這些網站加入 Internet Explorer 中的信任網站清單,或是以系統管理員的身分啟動 Internet Explorer。

如需詳細資訊,請參閱使用者帳戶控制

您可以利用重建作業來重新建立關聯式資料庫和 Cube。 TFS 會重建操作資料存放區的關聯式資料庫。 然後會重新建立 SQL Server Analysis Services Cube 並處理 Cube,就可以藉由使用關聯式資料庫中的資料填入它。 如果您只想要重建 Cube,您可以使用 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 Agent (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 Cube 設為離線。

    [重建倉儲及 Analysis Services Databases] 對話方塊隨即開啟。

  4. 選擇 [確定] 啟始重建流程。

    當您重建倉儲或 Cube 時,TFS 會執行此動作順序:

    • 將資料庫設為離線。

    • 卸除這兩個資料庫的結構描述。

    • 重新建立這兩個資料庫的結構描述。

    • 將這兩個資料庫恢復成線上狀態。

    • 重新啟動倉儲配接器工作。

    • 依照 Cube 規則的處理時間間隔處理 Cube。

    重新建置流程會先為了倉儲啟動,然後為了 Cube 啟動。 重建資料庫所需的時間取決於儲存在資料倉儲中的資料量。 重建資料庫後,處理資料庫的工作會自動啟動。

    注意事項注意事項

    重建倉儲和 Cube 時,Team Foundation 的管理主控台可能會停止回應。重建倉儲和 Cube 之後,您可能需要重新整理管理主控台。

  5. (選擇性) 若要檢查重建流程的狀態,您可以使用倉儲控制 Web 服務。 如需詳細資訊,請參閱手動處理 TFS 資料倉儲和 Analysis Services Cube

  6. 登入裝載 Reporting Services 的伺服器,開啟電腦管理員,然後啟動 SQL Server Reporting Services (TFSINSTANCE) 服務。

3.確認可存取報告

  1. 登入裝載 Reporting Services 的伺服器,開啟 Internet Explorer,在位址列中輸入下列字串,然後按 ENTER:

    http://localhost/Reports

    注意事項注意事項

    您可能需要選擇 [開始]、[所有程式],開啟 Internet Explorer 的內容功能表,然後選擇 [以系統管理員的身分執行],才能以系統管理員的身份啟動 Internet Explorer。

    如果您已經在資料層伺服器上部署具名的執行個體,請改為輸入下列字串:

    **http://localhost/Reports_**TFSInstance

  2. 在 [內容] 中,依序選擇 [TFSReports]、儲存 Team 專案的 Team 專案集合資料夾、對應至 Team 專案的資料夾,以及包含您要檢視之報告的資料夾。

  3. 選擇您要檢視之報告所在的資料夾。

  4. 選擇報表,並確認報表會正確出現。

  5. 檢查報表上次更新的日期。 這項資訊會出現在報表的左下角。

問與答

問:如何解決結構描述衝突?

**答:**當發生結構描述衝突時,您無法單靠重建資料倉儲來解決這個問題。 您必須先解決衝突,然後再重建資料倉儲。 請參閱解決資料倉儲中發生的結構描述衝突

問:如何解決重建或處理資料倉儲時所發生的失敗錯誤?

**答:**下列動作可能會導致發生失敗錯誤。

  • 您手動修改了 TFS 資料庫或編輯了 SQL 資料表。 除非 Microsoft 支援有所指示,或是遵循手動備份資料庫 (手動備份 Team Foundation Server) 中所述的程序執行動作,否則您不應手動修改任何 TFS 資料庫。 除此之外的任何修改,都可能會造成您的服務合約失效、無法升級和套用修補程式,以及導致資料遺失或損毀。

  • 中斷連結/附加作業會導致 Team 專案集合的設定不正確。 例如,集合變成附加至兩個不同的資料層伺服器,而這種案例不受支援。 更正組態再重建資料倉儲應能解決這些錯誤。

  • 您執行的備份或還原作業不是備份和還原 TFS 中所述的支援作業。

問:如何加入 Reporting Services?

**答:**若您的內部部署 TFS 設定不支援報表,可以加入報告。 請參閱 將報表加入至 Team 專案

問:如何修改報表組態?

**答:**若要修改 Team 專案集合的報表組態,可以使用 Team Foundation 管理主控台之 [報告] 頁面所提供的 [編輯] 功能。

編輯資訊以設定報告

問:重建之前清除或終結的資料會發生什麼事?

**答:**與組建相關聯的資料或已從資料庫永久刪除的工作項目,會在您重建資料倉儲時永遠從資料倉儲刪除。

此外,在倉儲中的資料或來自協力廠商來源的 Cube 也可能會遺失。 雖然大部分的協力廠商工具也能重新發佈資料,該功能仍取決於個別的廠商。 請連絡您的廠商,以判定可能遺失了什麼資料 (如果有的話)。

如需哪些資料不會在您刪除組建時從資料庫遭到刪除的詳細資訊,請參閱這篇部落格文章

刪除組建並不會從資料庫移除所有相關聯的資料。 若要這樣做,您必須終結組建。 您使用 TFSBuild destroy 命令終結組建,並在資料倉儲儲存空間。

請參閱

參考

RebuildWarehouse 命令

概念

TFS 資料倉儲的元件

管理 TFS 報表、資料倉儲及 Analysis Services Cube