分割專案集合

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019

當您的商務變更時,您可能會想要將單一專案集合分割成多個專案集合。 例如:

  • 您想要讓集合中的專案分屬於組織的業務單位,但集合中的專案現在卻由不同的單位擁有。

  • 您已從舊版的 Azure DevOps Server 升級,您只有一個集合,而且您想要將專案組織成個別的集合,以因安全性或商務一致性原因而不同。

  • 您想要將集合中某些項目的擁有權變更為具有自己部署 Azure DevOps Server 的遠端辦公室。 在此案例中,您必須先分割集合,再將分割後的一個集合移至遠端辦公室部署。

    注意

    本文中的程式僅支援分割專案集合。 若要在分割集合之後移動集合,請參閱 移動專案集合

若要分割專案集合,請遵循下列步驟:

  1. 準備分割集合

    1. 中斷連結集合
    2. 備份集合資料庫
  2. 分割集合

    1. 使用不同的名稱還原收集資料庫
    2. 連結原始的集合資料庫
    3. 連結重新命名的集合資料庫
    4. 從分割的集合中刪除專案
    5. 啟動集合
  3. 設定分割集合

    1. 設定分割專案集合的使用者和群組
    2. 為集合中的專案設定使用者與群組

開始之前

請確定您是伺服器和 SQL Server和 Azure DevOps Server中的系統管理員。 如果您不是系統管理員, 請新增為一個

1-a. 中斷集合的連結

首先,將集合與執行所在的 Azure DevOps Server 部署中斷連結。 卸離集合會停止所有作業和服務,以及集合資料庫本身。 此外,卸離程式會從組態資料庫複製集合特定數據,並將它儲存為專案集合資料庫的一部分。

中斷連結專案集合

  1. 在裝載要分割之集合的伺服器上,開啟 Azure DevOps 的管理控制台。

  2. 選取 [專案集合],然後在集合清單中選取要分割的集合。

    在此範例中,系統管理員選擇 TestProjects

    從集合清單中選取集合

    提示

    專案集合的預設名稱為 DefaultCollection。 如果您要分割此資料庫,請務必為第二個集合提供不同的名稱,因為這是連線的默認選擇。

  3. 在 [ 一般] 索引標籤上,選取 [停止集合]。

    停止收集介面

    [ 專案集合狀態原因 ] 對話框隨即開啟。 您輸入的文字會對您的使用者顯示。 選取 [停止],並等候集合停止。 停止時,其狀態會顯示為 [離線]。

  4. 在 [ 一般] 索引標籤上,選取 [ 卸離集合]。

    [ 卸離專案集合精靈] 隨即開啟。

    卸離集合精靈

  5. (選擇性) 在 [ 提供專案集合的服務訊息 ] 頁面上,於 [服務訊息] 中,為嘗試連線到此集合中的專案的使用者提供訊息。

  6. 將用來卸離專案集合 頁面的 [檢閱設定] 上,檢閱詳細數據。 若要變更任何設定,請選取 [ 上一頁]。 如果正確,請選取 [ 驗證]。

  7. 當所有整備檢查都成功完成時,請選取 [ 中斷連結]。

  8. 在 [ 監視專案集合卸離進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。

  9. (選擇性) 在 [檢閱此專案集合的補充資訊 ] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。

    專案集合不再出現在管理控制台中的集合清單中。

1-b. 備份集合資料庫

中斷集合的連結之後,必須先備份其資料庫,才能將複本以不同的名稱還原到伺服器。 該複本會成為您要分割成其他集合中之原始集合部分的資料庫。 若要執行這項工作,請使用隨附於 SQL Server 的工具。

備份資料庫

備份收集資料庫

  • 如需如何手動備份和還原個別資料庫的資訊,請參閱在 SQL Server 中備份和還原資料庫建立備份排程和計劃。 請務必選取符合您部署的 SQL Server 版本。

    重要

    若原始部署使用 Enterprise Edition 或 Datacenter Edition 的 SQL Server,而您想要將您要分割的資料庫,還原到執行 Standard Edition 的伺服器,此時,您必須使用停用 SQL Server 壓縮時所建立的備份組。 除非您停用資料壓縮,否則無法順利將 Enterprise Edition 或 Datacenter Edition 的資料庫還原到執行 Standard Edition 的伺服器。 若要關閉壓縮,請遵循停用 Azure DevOps 資料庫中 SQL Server 數據壓縮中的步驟。

2-a. 還原集合資料庫

當您分割集合時,必須將集合資料庫的備份還原到設定為支援部署 Azure DevOps Server 的 SQL Server 實例。 當您還原資料庫時,所提供的該資料庫名稱必須不同於原始集合資料庫的名稱。

提示

下列步驟提供如何使用 SQL Server Management Studio 在 SQL Server 2012 中還原專案集合資料庫的一般概觀。 如需如何手動備份和還原個別資料庫的詳細資訊,請參閱 SQL Server 中的備份和還原資料庫。 請務必選取符合您部署的 SQL Server 版本。

使用新名稱還原收集資料庫

  1. 開啟 SQL Server Management Studio,並連接到裝載資料庫以供專案集合分割的實例。

  2. 在 物件總管 中,展開 [資料庫],開啟要分割之資料庫的子功能表,然後選取 [工作]、選取 [還原],然後選取 [資料庫]。

    [還原資料庫] 視窗會在 [ 一般 ] 頁面上開啟。

    從 [一般] 窗格還原資料庫選項

  3. [來源] 中,確定已選擇專案集合資料庫。 在 [目的地] 中,提供資料庫複本的名稱。 保留Tfs_前置詞,並新增不同的名稱。 一般而言,該名稱是分割專案集合的名稱。 在 [還原計劃] 中,確定要還原的備份集是您要還原的備份集。 若要確定這些是有效的集合,請選取 [ 驗證備份媒體 ],然後在 [ 選取頁面] 中選取 [ 選項]。

  4. [還原選項] 中,將所有複選框保留空白。 請確定 [復原] 狀態 已設定為 RESTORE WITH RECOVERY。 在 [尾日誌備份] 中,清除 [ 將源資料庫保留在還原狀態] 複選框,然後選取 [ 確定]。

    提示

    如果還原作業失敗,並出現錯誤訊息,指出資料庫正在使用中且無法覆寫,您可能需要手動設定所有邏輯檔名,以反映資料庫的新名稱。 在 [選取頁面] 中,選取 [ 檔案],選取要還原之每個檔案旁的省略號按鈕,並確定檔名反映資料庫的新名稱,而不是舊的名稱。 接著嘗試重新執行還原作業。

2-b. 連結原始的集合資料庫

還原具有不同名稱的資料庫之後,請將原始集合資料庫重新附加至部署 Azure DevOps Server。

附加集合

  1. 開啟 Azure DevOps 的管理主控台。

  2. 選取 [專案集合],然後選取 [ 附加集合]。

    [ 附加專案集合精靈] 隨即開啟。

  3. 在 [選取要附加的專案集合資料庫] 頁面上,於 [SQL Server 實例] 中,提供伺服器名稱和裝載集合資料庫的實例,如果尚未列出的話。

  4. 在 [ 資料庫] 清單中,選取要附加的集合資料庫。

    資料庫清單

  5. [輸入專案集合資訊 ] 頁面上,如果還沒有集合,請在 [名稱 ] 中提供集合的名稱。 由於這是原始集合,因此您可以選取將名稱保留為與之前相同的名稱。 在 [描述] 中,選擇性地提供集合的描述。

  6. 將用來附加專案集合頁面的 [檢閱設定 ] 上,檢閱資訊。

  7. 若要變更任何設定,請選取 [ 上一頁]。 如果所有設定都正確,請選取 [ 驗證]。

  8. 當所有整備檢查都成功完成時,請選取 [ 附加]。

  9. 在 [ 監視專案集合附加進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。

  10. (選擇性) 在 [檢閱此專案集合的補充資訊 ] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。

  11. 專案集合會出現在管理主控台的集合清單中。 如果集合狀態列為[在線], 您必須先停止它,才能繼續。 從清單中選取集合,然後在 [ 一般] 索引標籤上,選取 [停止集合]。

    停止收集影像

2-c. 連結重新命名的集合資料庫

附加原始集合資料庫之後,您必須將重新命名的集合附加至部署 Azure DevOps Server。 連結此集合之後,其仍會保持在停止狀態。 您必須先移除所有重複的專案,才能加以啟動。

連結重新命名的集合資料庫

  1. 開啟 Azure DevOps 的管理主控台。

  2. 選取 [專案集合],然後選取 [ 附加集合 ] 以開啟精靈。

  3. 在 [選取要附加的專案集合資料庫] 頁面上,於 [SQL Server 實例] 中,提供伺服器名稱和裝載重新命名之集合資料庫的實例,如果尚未列出。

  4. 在 [ 資料庫] 清單中,選取已重新命名的集合資料庫。

  5. [輸入專案集合資訊 ] 頁面上,在 [ 名稱 ] 中輸入與集合原始名稱不同的重新命名集合名稱。 這應該符合您為重新命名的資料庫提供的名稱,而不使用Tfs_前置詞。

    附加小組項目名稱專案

  6. (選擇性) 在 [描述] 中,輸入集合的描述。

  7. 將用來附加專案集合頁面的 [檢閱設定 ] 上,檢閱資訊。 若要變更任何設定,請選取 [ 上一頁]。 如果所有設定都正確,請選取 [ 驗證]。

  8. 當所有整備檢查都成功完成時,請選取 [ 附加]。

  9. 在 [ 監視專案集合附加進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。

  10. (選擇性) 在 [檢閱此專案集合的補充資訊 ] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。

  11. 集合的名稱會出現在管理主控台的集合清單中,而且其狀態應該會顯示為 [離線]。

    附加小組項目名稱專案

  12. 若要確定兩個集合都連結了唯一的 ID,請前往管理主控台中的 [事件記錄檔],開啟這兩個集合連結作業的記錄檔。 CollectionProperties 的 GUID 不應該 相符。

    包含 CollectionProperties GUID 的記錄

    在 CollectionProperties GUID 相符的不太可能事件中,請先將標識碼變更為唯一標識符,再繼續使用 /clone 參數在第二個集合上執行 TFSConfig Collection 命令

2-d. 從分割的集合中刪除專案

既然您已將集合的兩份複本附加至 Azure DevOps Server,您必須從原始集合或重新命名的集合中刪除每個專案,如此一來,這兩個集合中就不會有任何專案保留。

重要

同一個專案不得存在於多個集合中。 您必須刪除分割之集合間的所有重複專案,才能啟動重新命名的集合。

從集合中刪除專案

  1. 開啟 Azure DevOps 的管理主控台。

  2. 選取 [專案集合],然後在集合清單中,選取您停止的原始專案集合來分割它。

  3. 在 [ 專案] 索引 標籤標的專案中,選取要從集合中刪除的項目,然後選取 [ 刪除]。

    提示

    您可以一次選取多個要刪除的專案。

    用於刪除專案的 TFS 管理主控台

  4. 選取 [ 刪除工作區數據 ] 複選框,讓 [ 刪除外部成品 ] 複選框保持清除,然後選取 [ 刪除]。

    如果未清除 [刪除外部成品] 複選框,且您的專案設定為使用實驗室管理,則會從 System Center Virtual Machine Manager 中刪除與專案相關聯的虛擬機和範本。 已重新命名集合中的項目將無法再使用這些專案。 (請注意,TFS 2017 和更新版本的實驗室管理已被取代。)

  5. 當您完成刪除不想在原始專案集合中裝載的專案時,請從集合清單中選取已重新命名的專案集合。 然後,在 [ 專案] 索引 標籤上,從新的集合中刪除不必要的專案。

    專案索引標籤中的專案

  6. 重複本節中的步驟,直到這兩個集合都包含一組唯一的項目為止。

2-e. 啟動專案集合

刪除項目之後,請重新啟動這兩個集合。

啟動專案集合

  1. 開啟 Azure DevOps 的管理主控台。

  2. 選取 [專案集合],然後在集合清單中選取您停止的集合,以便加以分割。

  3. 在 [ 一般] 索引標籤上,選取 [開始集合]。

  4. 對連結新名稱的集合重複步驟 2。

    TFS 管理控制台

3-a. 為分割的集合設定使用者與群組

若分割後的兩個集合都留在同一個網域中,而您想要允許原始集合的系統管理員存取這兩個集合,可略過此程序。

分割集合之後,您必須以將要管理這兩個集合的使用者與群組,更新這兩個集合的權限群組。 如需詳細資訊,請參閱 設定專案集合的系統管理員許可權

3-b. 設定專案的使用者與群組

若分割後的集合將留在同一個網域中,而您想要允許原始集合的專案使用者存取這兩個集合,可略過此程序。

設定這兩個集合的系統管理員之後,您或系統管理員必須為使用者與群組,設定對每個集合中之專案的存取權。 視您的部署而定,您可能也需要在 Reporting Services 中設定這些用戶的許可權。 如需詳細資訊,請參閱 將使用者新增至專案或小組

問答集

問:我的部署使用報告。 在分割集合時,有需要額外採取其他的步驟嗎?

答: 是,您必須在完成刪除項目之後分割報表,讓這兩個集合都有一組唯一的專案。 您也需要重建資料倉儲。

刪除項目之後,請將分割集合所使用的報表移至不同的資料夾,然後從原始資料夾刪除它們。

重要

兩個位置中都會有報告資料夾。 在刪除任何報告資料夾之前,請確定您已正確地移動所有報告。

將報表分割成不同的資料夾

  1. 在報告管理員中,將支援分割集合的報告移到該集合的適當資料夾中。 如需詳細資訊,請參閱 移動項目頁面

分割報表並啟動這兩個集合之後,請重建 Azure DevOps 的倉儲和 Analysis Services 的資料庫。 您必須執行此步驟,才能確保分割集合之後,所部署的報告與儀表板運作皆能正確,而且不會與部署中的其他集合發生衝突。

重建數據倉儲和 Analysis Services 資料庫

  1. 開啟 Azure DevOps 的管理主控台。

  2. 在導覽列中,選取 [ 報告]。

  3. [報告] 中,選取 [ 開始重建]。

  4. [重建倉儲與 Analysis Services 資料庫] 對話框中,選取 [確定]。

    注意

    「開始重建」動作完成之後,倉儲會繼續重建,而資料會繼續重新填入。 視部署大小和數據量而定,整個程式可能需要數小時才能完成。