分割專案集合
Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019
隨著業務變更,您可能會想要將單一專案集合分割成多個專案集合。 例如:
您希望集合中的專案與組織中的業務單位一致,而且集合中的項目現在由個別單位擁有。
您從舊版的 Azure DevOps Server 升級,您只有一個集合,而且您想要將專案組織成個別的集合,基於安全性或業務一致性考慮。
您想要將集合中某些項目的擁有權變更為具有自己部署 Azure DevOps Server 的遠端辦公室。 此案例會要求您先分割集合,然後將其中一個產生的集合移至遠端辦公室部署。
注意
本文中的程式僅支援分割專案集合。 若要在分割集合之後移動集合,請參閱 移動專案集合。
若要分割專案集合,請遵循下列步驟:
準備分割集合
分割集合
設定分割集合
開始之前
請確定您是伺服器和 SQL Server 和 Azure DevOps Server 中的系統管理員。 如果您不是系統管理員, 請新增為系統管理員。
1-a. 中斷連結集合
首先,將集合與其執行所在的 Azure DevOps Server 部署中斷連結。 卸離集合會停止所有作業和服務,以及集合資料庫本身。 此外,卸離程式會從組態資料庫複製集合特定數據,並將其儲存為專案集合資料庫的一部分。
中斷連結專案集合
在裝載要分割之集合的伺服器上,開啟 Azure DevOps 的管理控制台。
選取 [專案集合],然後在集合清單中選取要分割的集合。
在此範例中,系統管理員選擇 TestProjects。
提示
專案集合的預設名稱是 DefaultCollection。 如果您要分割此資料庫,請務必為第二個集合提供不同的名稱,因為這是連接的默認選擇。
在 [ 一般] 索引標籤上,選取 [ 停止收集]。
[ 專案集合狀態原因 ] 對話框隨即開啟。 您輸入的文字將會向用戶顯示。 選取 [ 停止],然後等候集合停止。 停止時,其狀態會顯示為 離線。
在 [一般] 索引標籤上,選取 [中斷連結集合]。
[中斷鏈接專案集合精靈] 隨即開啟。
(選擇性)在 [ 提供專案集合 的服務訊息] 頁面上,於 [服務訊息] 中,為可能嘗試連線到此集合中的專案的使用者提供訊息。
在將用來卸離專案集合頁面的 [ 檢閱設定 ] 上,檢閱詳細數據。 若要變更任何設定,請選取 [ 上一頁]。 如果正確,請選取 [ 驗證]。
當所有整備檢查都成功完成時,請選取 [ 中斷連結]。
在 [ 監視專案集合中斷鏈接進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。
(選擇性)在 [ 檢閱此專案集合 的補充資訊] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。
專案集合不再出現在管理控制台中的集合清單中。
1-b. 備份收集資料庫
卸離集合之後,您必須先備份其資料庫,才能使用不同的名稱將複本還原至伺服器。 該復本會成為您要分割成另一個集合之原始集合部分的資料庫。 若要執行這項工作,請使用 SQL Server 所提供的工具。
備份收集資料庫
如需如何手動備份和還原個別資料庫的資訊,請參閱 在 SQL Server 中備份和還原資料庫和 建立備份排程和計劃。 請務必選取符合部署的 SQL Server 版本。
重要
如果您的原始部署使用 SQL Server 的 Enterprise 或 Datacenter 版本,而且您想要還原要分割至執行 Standard Edition 的伺服器的資料庫,則必須使用停用 SQL Server 壓縮所建立的備份集。 除非您停用數據壓縮,否則您將無法成功將 Enterprise 或 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 版本。
使用新名稱還原集合資料庫
開啟 SQL Server Management Studio,並連線到裝載資料庫以供專案集合分割的實例。
在 物件總管 中,展開 [資料庫],開啟要分割之資料庫的子功能表,然後選取 [工作],選取 [還原],然後選取 [資料庫]。
[還原資料庫] 視窗會在 [ 一般 ] 頁面上開啟。
在 [來源] 中,確定已選擇專案集合資料庫。 在 [ 目的地] 中,提供資料庫複本的名稱。 保留Tfs_前置詞,並新增不同的名稱。 一般而言,該名稱是分割專案集合的名稱。 在 [還原計劃] 中,確定要還原的備份集是您想要還原的備份集。 若要確定這些是有效的集合,請選取 [驗證備份媒體],然後在 [選取頁面] 中選取 [選項]。
在 [ 還原選項] 中,將所有複選框保留空白。 請確定 [復原狀態 ] 設定為 RESTORE WITH RECOVERY。 在 [尾日誌備份] 中,清除 [ 讓源資料庫保持還原狀態 ] 複選框,然後選取 [ 確定]。
提示
如果還原作業失敗,並出現錯誤訊息,指出資料庫正在使用中且無法覆寫,您可能需要手動設定所有邏輯檔名,以反映資料庫的新名稱。 在 [選取頁面] 中,選取 [檔案],選取每個要還原之檔案旁的省略號按鈕,並確定檔案的名稱反映資料庫的新名稱,而不是舊檔案的名稱。 然後再次嘗試還原作業。
2-b. 附加原始集合資料庫
以不同的名稱還原資料庫之後,請將原始集合資料庫重新附加至 Azure DevOps Server 的部署。
附加集合
開啟 Azure DevOps 的管理主控台。
選取 [專案集合],然後選取 [ 附加集合]。
[附加專案集合精靈] 隨即開啟。
在 [ 選取要附加 的專案集合資料庫] 頁面上,於 [SQL Server 實例] 中,提供尚未列出的伺服器名稱和裝載集合資料庫的實例。
在 [ 資料庫] 清單中,選取要附加的集合資料庫。
在 [輸入專案集合資訊] 頁面上,如果還沒有集合,請在 [名稱] 中提供集合的名稱。 由於這是原始集合,因此您可以選取將名稱保留為與之前相同的名稱。 在 [描述] 中,選擇性地提供集合的描述。
在將用來附加專案集合頁面的 [ 檢閱設定 ] 上,檢閱資訊。
若要變更任何設定,請選取 [ 上一頁]。 如果所有設定都正確,請選取 [ 驗證]。
當所有整備檢查都成功完成時,請選取 [ 附加]。
在 [ 監視專案集合附加進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。
(選擇性)在 [ 檢閱此專案集合 的補充資訊] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。
專案集合會出現在管理控制台中的集合清單中。 如果集合狀態列為 [在線], 您必須先停止它,才能繼續。 從清單中選取集合,然後在 [ 一般 ] 索引標籤上,選取 [ 停止收集]。
2-c. 附加重新命名的集合資料庫
附加原始集合資料庫之後,您必須將重新命名的集合附加至 Azure DevOps Server 的部署。 附加此集合時,它仍會停止。 在移除所有重複的專案之前,您將無法啟動它。
附加重新命名的集合資料庫
開啟 Azure DevOps 的管理主控台。
選取 [專案集合],然後選取 [ 附加集合 ] 以開啟精靈。
在 [選取要附加的專案集合資料庫] 頁面上,於 [SQL Server 實例] 中,提供伺服器名稱和裝載已重新命名之集合資料庫的實例,如果尚未列出的話。
在 [ 資料庫] 清單中,選取重新命名的集合資料庫。
在 [輸入專案集合資訊] 頁面上,在 [名稱] 中輸入與集合原始名稱不同的已重新命名集合名稱。 這應該符合您提供重新命名資料庫的名稱,而不需要Tfs_前置詞。
(選擇性)在 [描述] 中,輸入集合的描述。
在將用來附加專案集合頁面的 [ 檢閱設定 ] 上,檢閱資訊。 若要變更任何設定,請選取 [ 上一頁]。 如果所有設定都正確,請選取 [ 驗證]。
當所有整備檢查都成功完成時,請選取 [ 附加]。
在 [ 監視專案集合附加進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。
(選擇性)在 [ 檢閱此專案集合 的補充資訊] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。
集合的名稱會出現在管理控制台中的集合清單中,而且其狀態應該會顯示為 離線。
為了確保這兩個集合都附加了唯一標識符,請在管理控制台中,移至 [事件記錄檔],並開啟這兩個集合附加作業的記錄檔。 CollectionProperties 的 GUID 不應該相符。
在 CollectionProperties GUID 相符的不太可能事件中,請先將標識碼變更為唯一標識符,然後再繼續執行第二個集合上的 TFSConfig Collection 命令 與 /clone 參數。
2d. 刪除分割集合上的專案
現在,您有兩份連結至 Azure DevOps Server 的集合複本,您必須從原始集合或重新命名的集合中刪除每個專案,讓這兩個集合中沒有任何專案保留。
重要
專案不能存在於一個以上的集合中。 在您刪除分割集合之間的所有重複專案之前,您將無法啟動重新命名的集合。
從集合中刪除專案
開啟 Azure DevOps 的管理主控台。
選取 [專案集合],然後在集合清單中,選取您停止的原始專案集合來分割它。
在 [ 專案] 索引標籤的項目清單中,選取要從集合中刪除的項目,然後選取 [ 刪除]。
提示
您可以選取一次要刪除的多個專案。
選取 [ 刪除工作區數據 ] 複選框,保留 [刪除外部成品 ] 複選框已清除,然後選取 [ 刪除]。
如果未清除 [ 刪除外部成品] 複選框,且您的專案已設定為使用實驗室管理,則會從 System Center Virtual Machine Manager 中刪除與專案相關聯的虛擬機和範本。 重新命名集合中的項目將無法再使用它們。 (請注意,TFS 2017 和更新版本的實驗室管理已被取代。
當您完成刪除不想載入於原始專案集合中的專案時,請從集合清單中選取已重新命名的專案集合。 然後,在 [ 專案] 索引標籤上,從新的集合中刪除不必要的專案。
重複本節中的步驟,直到這兩個集合都包含一組唯一的專案。
2-e. 啟動專案集合
刪除項目之後,請重新啟動這兩個集合。
啟動專案集合
開啟 Azure DevOps 的管理主控台。
選取 [專案集合],然後在集合清單中,選取您停止的集合來分割它。
在 [ 一般] 索引標籤上,選取 [ 開始集合]。
針對您使用新名稱附加的集合重複步驟 2。
3-a. 設定分割集合的使用者和群組
如果這兩個分割集合都會保留在相同的網域中,而且您想要允許原始集合的系統管理員存取這兩個集合,您可以略過此程式。
分割集合之後,您必須使用將管理這些集合的使用者和群組來更新集合的許可權群組。 如需詳細資訊,請參閱 設定專案集合的系統管理員許可權。
3-b. 設定項目的使用者和群組
如果分割集合會保留在相同的網域中,而且您想要允許原始集合中專案使用者存取這兩個集合,則可以略過此程式。
設定這兩個集合的系統管理員之後,您或這些系統管理員都必須設定每個集合中專案的使用者和群組存取權。 視您的部署而定,您可能也需要在 Reporting Services 中設定這些用戶的許可權。 如需詳細資訊,請參閱 將使用者新增至專案或小組。
問與答
問:我的部署使用報告。 分割集合時是否需要採取任何其他步驟?
答: 是,完成刪除項目之後,您必須分割報表,讓這兩個集合都有一組唯一的專案。 您也需要重建數據倉儲。
刪除項目之後,請將分割集合所使用的報表移至不同的資料夾,然後從原始資料夾刪除它們。
重要
報表資料夾存在於這兩個位置。 請務必先適當地移動所有報表,再刪除任何報表資料夾。
將報表分割成不同的資料夾
- 在報表管理員中,將支援分割集合的報表移至該集合的適當資料夾。 如需詳細資訊,請參閱 移動項目頁面。
分割報表並啟動這兩個集合之後,請重建 Azure DevOps 的倉儲和 Analysis Services 資料庫。 您必須執行此步驟,以確保在分割集合之後,報表和儀錶板可正確用於部署,且不會與部署中的其他集合發生衝突。
重建數據倉儲和 Analysis Services 資料庫
開啟 Azure DevOps 的管理主控台。
在導覽列中,選取 [ 報告]。
在 [報告] 中,選取 [開始重建]。
在 [ 重建倉儲與 Analysis Services 資料庫] 對話框中,選取 [ 確定]。
注意
倉儲將會繼續重建,而且開始重建動作完成後,數據會繼續重新填入。 視您的部署大小和數據量而定,整個程式可能需要數小時才能完成。