分割專案集合
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 版本。
重要
若原始部署使用 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 版本。
使用新名稱還原收集資料庫
開啟 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_前置詞。
(選擇性) 在 [描述] 中,輸入集合的描述。
在 將用來附加專案集合頁面的 [檢閱設定 ] 上,檢閱資訊。 若要變更任何設定,請選取 [ 上一頁]。 如果所有設定都正確,請選取 [ 驗證]。
當所有整備檢查都成功完成時,請選取 [ 附加]。
在 [ 監視專案集合附加進度 ] 頁面上,當所有進程都完成時,選取 [ 下一步]。
(選擇性) 在 [檢閱此專案集合的補充資訊 ] 頁面上,選取或記下記錄檔的位置,然後關閉精靈。
集合的名稱會出現在管理主控台的集合清單中,而且其狀態應該會顯示為 [離線]。
若要確定兩個集合都連結了唯一的 ID,請前往管理主控台中的 [事件記錄檔],開啟這兩個集合連結作業的記錄檔。 CollectionProperties 的 GUID 不應該 相符。
在 CollectionProperties GUID 相符的不太可能事件中,請先將標識碼變更為唯一標識符,再繼續使用 /clone 參數在第二個集合上執行 TFSConfig Collection 命令 。
2-d. 從分割的集合中刪除專案
既然您已將集合的兩份複本附加至 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 資料庫] 對話框中,選取 [確定]。
注意
「開始重建」動作完成之後,倉儲會繼續重建,而資料會繼續重新填入。 視部署大小和數據量而定,整個程式可能需要數小時才能完成。