移動或複製 Team Foundation Server (硬體移動)

您可以移動或複製 Team Foundation Server (TFS) 軟體的部署。 透過將 TFS 還原至新硬體的方式,將 TFS 從某部電腦移到另一部電腦 (也稱為以還原為基礎的移動)。 例如,您可能想要將 TFS 移至擁有更大容量或更快處理速度的伺服器,或是您對於目前執行 TFS 的硬體可靠性有所顧慮。 您可以用將 TFS 移到新伺服器的方式來變更執行 TFS 的硬體,而不會遺失任何專案記錄。

若要複製 TFS 部署,您除了要執行和移動部署一樣的步驟,還要加上一些額外步驟。 若您計劃不再使用原始的硬體和 TFS 部署,請執行移動。 若您想在移動之後繼續使用原始的 TFS 執行個體,請執行複製。

重要

在某些情況下,您可能會想要變更 TFS 部署的網域以及其硬體。變更網域是以環境為基礎的移動方式,因此,您絕不能合併這兩種移動類型。請先完成硬體移動,再變更環境。

若要移動或複製 TFS,請執行這些步驟:

  1. 檢查您的權限

  2. 備份資料庫及安裝軟體

    1. 備份資料庫和加密金鑰

    2. 在新的資料層伺服器上安裝及設定 SQL Server

    3. 在新應用程式層伺服器上安裝及設定軟體

  3. 將 TFS 資料庫還原至新的硬體

    1. 還原 TFS 資料庫

    2. 將 SharePoint 產品重新導向至內容資料庫的新位置

    3. (複製選項) 重新設定伺服器 ID 並重新對應資料庫

  4. 將新的應用程式層伺服器的組態進行更新

    1. 設定新的應用程式層

    2. 更新 Team Foundation Server URL

    3. 更新所有服務帳戶

    4. 更新組建伺服器

    5. 在 TFS 中設定 SharePoint Web 應用程式

    6. 設定 Reporting Services 及 SQL Server Analysis Services

  5. 驗證權限和通知使用者以及設定備份

    1. 確認使用者、群組、小組和服務帳戶的使用權限

    2. 重新整理用戶端電腦上的快取

    3. 通知使用者

    4. 設定備份

1.檢查您的權限

您必須同時是兩部硬體 (舊的和新的) 的系統管理員。 此外,您還必須是部署所相依之 TFS 及所有軟體的系統管理員 (或具有相當的使用權限):SQL Server、報告、SharePoint 產品 (如果您的部署使用報告功能或 SharePoint) 和任何與部署互通的其他軟體,例如 Project Server。

  • 確定您是下列群組的成員:

    • 伺服器:系統管理員 (本機 Administrators 群組或對等群組)

    • TFS:Team Foundation Administrators 與 Admin Console Users

    • SQL Server:sysadmin

    • SharePoint 產品:Farm Administrators (如果 TFS 部署與 SharePoint 產品整合)

如果您不是一個或多個這類群組的成員,請立即取得權限

2.備份及安裝

首先,為您的 TFS 資料庫進行備份,然後在新的硬體上安裝軟體。

2-a.備份資料庫和 SQL Server Reporting Services 加密金鑰

  1. 開啟 TFS 的管理主控台,並在 [排程備份] 頁面上採用完整備份。 您在備份計劃中設定備份的所有項目皆會進行備份,但是會立即執行,而不會遵循計劃中排程的時間。 如果您的部署使用報告功能,您可以將加密金鑰備份為此備份組的一部分。

    您可以在工作完成時關閉視窗

    (如果沒有設定備份,您必須建立計劃,才能進行完整備份)。

  2. 一旦完成份,請確認備份是否可用於儲存裝置或網路共用,以及您是否可從新硬體存取此備份。

2-b.在新的資料層伺服器上安裝及設定 SQL Server

  • 在新伺服器上安裝 SQL Server,並確定可正常運作。 如果之前的部署使用報告功能,請務必包含 Reporting Services 和 Analysis Services 元件。 您必須安裝先前使用的相同版本,包括 Service Pack 和累計更新層級。

    安裝 SQL Server 2008 R2 - 功能

    或者,您也可以在已經安裝相符版本的伺服器上建立 SQL Server 執行個體,並將 TFS 資料庫還原至該執行個體,不過會需要更多的還原後設定。

    如需安裝和設定 SQL Server 選項的詳細資訊,請到這裡

    在安裝 SQL Server 之後,如果您的部署中含有報告功能,請開啟 SQL Server Management Studio,並移除 ReportServer 和 ReportServerTempDB 資料庫。 否則,您可能無法使用您為 TFS 資料庫建立的備份來還原這些資料庫。

    還原資料庫之前必須先中斷連結現有資料庫

2-c.在新應用程式層伺服器上安裝及設定軟體

若要設定 TFS 的新伺服器或伺服器,您必須先安裝並設定可提供支援的軟體。 此軟體包括下列元件:

  • 部署組態支援的作業系統

  • 支援的 SharePoint 產品版本 (如果您的部署整合於 SharePoint 產品 且您想要將它移至與 TFS 相同的伺服器)

注意事項注意事項

有別於安裝 TFS 的新部署,在移到新的伺服器時,您無法在標準單一伺服器或進階選項中安裝 SharePoint 產品。您必須手動安裝您在之前部署所使用的 SharePoint 產品 相同版本,或者遵循 SharePoint 產品版本的指引,分別將其部署移至新硬體。

在新的環境中安裝及設定 Windows、IIS (如果預設為未設定) 和 SharePoint (如果使用),並確定伺服器以及其軟體可運作。

如需詳細資訊,請參閱 Team Foundation Server 的系統需求將 SharePoint 移至 TFS 的新硬體

3.將 TFS 資料庫還原至新的硬體

若要使用還原工具還原 TFS 資料庫,您必須在新的資料層伺服器上安裝 TFS 但不進行設定,然後在 [排程備份] 節點中使用還原函式。

您可以使用 SQL Server 還原工具手動還原 TFS 資料庫,但是這是更困難的程序。 此外,您還必須手動結束新部署中資料庫的靜止狀態。 TFS 的還原精靈會在其還原過程中自動為您執行此工作,但 SQL Server 還原工具中不具有此功能。

如果您使用將 SharePoint 移至 TFS 的新硬體中的步驟安裝 SharePoint Foundation 2013,而且打算使用該伺服器做為 TFS 的伺服器,則安裝位元和管理主控台將會出現在伺服器上,並且可以略過下個程序的前兩個步驟。

3-a.還原 TFS 資料庫

  1. 啟動 TFS 安裝媒體。 在 [Team Foundation Server 安裝程式] 頁面中,選擇 [安裝]。

  2. 當安裝完成時,[Team Foundation Server 組態中心] 將會開啟。 將它關閉。

    管理主控台會在未設定的狀態中自動開啟。 這是預期的行為。

  3. 若要啟動還原精靈,請開啟 TFS 的管理主控台,並開啟 [排程備份]。

    啟動還原精靈

  4. 指定備份組的路徑,並選擇靜止舊部署之後所建立的備份組。

    選擇網路路徑,然後選擇要還原的備份組

  5. 完成精靈並將資料庫還原至新的 SQL Server 執行個體。

    資料庫已還原至新伺服器

3-b.將 SharePoint 產品重新導向至內容資料庫的新位置

如果您的部署使用 SharePoint 產品,則您已經依照將 SharePoint 移至 TFS 的新硬體中的步驟,安裝您在之前部署中使用的相同 SharePoint 產品 版本,如上所述。 現在,當您將舊部署的內容資料庫 (WSS_Content) 還原到新的伺服器做為還原集的一部分之後,必須將執行 SharePoint 產品 的伺服器重新導向到該資料庫的新位置。 此資料庫必須已經備妥可用,才能將 Team Foundation Server 重新設定導向其資料庫的新位置。

  1. 在執行 SharePoint Foundation 的新硬體上,以系統管理員身分開啟 [命令提示字元]。

  2. 將目錄變更為磁碟機:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\bin,並使用下列參數執行 stsadm.exe,其中 SharePointFoundationServerName 是安裝 SharePoint Foundation 2013 的伺服器名稱,而 SQLServerName 是在 TFS 資料庫還原作業中用於還原 WSS_Content 資料庫的伺服器名稱:

    stsadm.exe –o addcontentdb –url http://SharePointFoundationServerName/sites -databasename WSS_Content -databaseserver SQLServerName
    
  3. 命令順利完成後,請輸入下列命令,其中 Domain\UserName 是您用來安裝和設定 SharePoint Foundation 2013 以搭配 TFS 使用的帳戶:

    stsadm.exe -o addpermissionpolicy -url http://SharePointFoundationServerName -userlogin Domain\UserName -permissionlevel "full control"
    

3-c.(複製選項) 重新設定伺服器 ID 並重新對應資料庫

若您想要繼續使用原始的 TFS 執行個體,請在新的應用程式層伺服器上執行下一組步驟。 這些是避免一或兩個部署都損毀之風險的必要步驟。 如果兩部伺服器皆為即時伺服器,您可能會遭遇到損毀情形,尤其是在兩部伺服器指向相同的 SharePoint 或報表資源時。

  1. 以系統管理員身分開啟 [命令提示字元] 視窗,並將目錄變更為 磁碟機:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools。 開啟命令提示字元視窗,輸入:

  2. 執行 TFSConfig PrepareClone 命令,以移除排程備份、SharePoint 和報告資源的資訊。

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL

  3. 執行 TFSConfig ChangeServerID 命令,以變更與資料庫關聯的 GUID。 GUID 在 TFS 部署中必須是唯一的。

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]

  4. 執行 TFSConfig RemapDBs 命令,將複製的 TFS 重新導向至其資料庫。

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,ServerName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/preview] [/continue] [/usesqlalwayson]

4.將新的應用程式層伺服器的組態進行更新

在新的應用程式層伺服器上執行這些步驟。

4-a.設定新的應用程式層伺服器

  1. 從 TFS 的管理主控台,選擇 [設定已安裝的功能] 啟動組態中心。

  2. 啟動 [僅限應用程式層] 精靈,並在資料庫中指定您要將 TFS 資料庫還原至哪個新 SQL Server 執行個體。 從清單中選擇 Tfs_Configuration 資料庫。

    選取 SQL Server 和資料庫備份組

  3. 在關閉精靈的最後一頁之前,請尋找 “i” 符號。 這表示可供您日後參考的資訊。 最後一頁也會包含組態記錄檔的位置。

    注意所有問題和記錄檔的位置

4-b.更新 TFS URL

  1. 移至應用程式層節點,並查看通知和 Team Web Access URL。 請注意,這些資訊仍然指向舊部署的位置。 請更新資訊。

    通知和 Web URL 都已過期

  2. 在以新伺服器名稱更新 URL 後,請檢閱資訊以確認資訊正確無誤。

    伺服器 URL 仍然使用 localhost

4-c.更新所有服務帳戶

您必須更新 TFS 服務帳戶 (TFSService) 和資料來源帳戶 (TFSReports)。 即使這些帳戶未變更,您還是必須更新資訊,以確保帳戶的身分識別和格式適用於新伺服器。

  1. 以系統管理員身分開啟 [命令提示字元] 視窗,並將目錄變更為 磁碟機:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools。

  2. 在命令提示字元中,輸入下列命令以新增 Team Foundation 的服務帳戶,其中 DatabaseName 是組態資料庫的名稱 (預設是 TFS_Configuration):

    **TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

  3. 在命令提示字元中輸入下列命令,即可加入資料來源帳戶:

    **TfsConfig Accounts /add /AccountType:ReportingDataSource /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    如需詳細資訊,請參閱Accounts 命令

4-d.更新組建伺服器

現在,您必須將組建伺服器重新導向為指向移動的 TFS 部署。

  1. 在每部組建伺服器上,開啟管理主控台,並停止組建服務。

  2. 在組建服務的屬性中,更新通訊屬性。

    停止服務,然後進行變更

4-d.設定 SharePoint Web 應用程式

如果您的部署使用 SharePoint 產品,而且在移動 TFS 時一併移動了 SharePoint Foundation 2013,則可能需要將 TFS 重新導向到新的 Web 應用程式。 即使不需要,您仍應修復連線以確保能發揮正常效能。

如果您沒有使用 SharePoint 產品做為部署的一部分,或是您的部署將繼續使用舊版 SharePoint 伺服器,則可以略過此程序。

  • 開啟管理主控台,並巡覽至 SharePoint Web 應用程式。 如果 Web 應用程式仍參照舊網站,或者,如果您的新部署使用的 Web 應用程式與所列出的不同,請選擇 [變更] 並更新設定。

    TFS 仍然重新導向至舊的應用程式

    如果資訊正確無誤,或是在您修改為正確資訊後,請選擇 [修復連接]。 這有助於確保一切正常運作。

4-e.設定 Reporting Services 和 Analysis Services

如果您的部署使用報表伺服器,則必須將 Team Foundation Server 重新導向至其位置,並重新啟動倉儲,然後手動重建 Analysis Services 的資料庫。 如果您不使用報告功能,請略過此程序。

  1. 移至 [報告] 節點。 列出的報表伺服器值是舊的,而不是新的,因此請編輯這些值。

    報表仍然指向舊的伺服器

  2. 將三個索引標籤上的值全數變更為指向新伺服器。 務必在新部署中提供正確的資料來源帳戶資訊。

    確定 3 個索引標籤中的資訊都正確無誤

  3. 選擇 [啟動工作] 重新啟動報告。

  4. 選擇 [開始重建] 以重建倉儲。

5.驗證權限和通知使用者以及設定備份

當您移至新的硬體之後,請確定部署的所有使用者、群組和服務帳戶都已設定在每一部伺服器上正確運作所需的權限。 有些使用權限 (例如 SQL Server 或本機電腦中的其他使用權限) 無法自動移轉。 例如,Team Foundation 管理員必須是應用程式層伺服器上本機 [Administrators] 群組的成員,才能開啟管理主控台,所以您必須手動將其加入至該群組。

5-a.確認使用者、群組和服務帳戶的使用權限

  • 登入伺服器,並確定使用者、群組和服務帳戶已設定操作所需的權限。 在專案群組和小組中手動抽查成員資格,並確認這些群組和小組具有您預期的使用權限。

  • 瀏覽至 Team 專案集合,並確定該集合中的所有專案都如預期出現,而且這些專案的使用者能適當地存取其工作項目。

  • 開啟 Team Web Access,並確認小組網站和小組如預期出現。

不確定有哪些群組和使用權限嗎? 如需詳細資訊,請參閱將使用者加入至 Team 專案, 設定 Team 專案集合的系統管理員權限, 設定 Team Foundation Server 的系統管理員權限Team Foundation Server 中的服務帳戶與相依性.

5-b.重新整理用戶端電腦上的資料快取

  • 登入伺服器,並使用 ClientService Web 服務強制用戶端更新追蹤工作項目和 Team Foundation 版本控制的快取。

    http://ServerName:8080/tfs/WorkItemTracking/v3.0/ClientService.asmx
    

    如需詳細資訊,請參閱重新整理用戶端電腦上的資料快取

    如果您希望所有使用者下次登入時重新整理整個快取,請使用 witadmin rebuildcache 命令。

    注意事項注意事項

    如果您將資料庫還原至不同的時間點,您也需要重新整理版本控制快取,如重新整理用戶端電腦上的資料快取所述。

5-c.通知使用者

在移動 TFS 之後,您需要告訴使用者如何連接所移動的部署。 具體來說,您需要為其提供下列資訊:

  • 新伺服器的名稱和 Team Web Access 的 URL,以便使用者重新連接自己的專案

  • 如果報告是部署的一部分,則為報告的新資料庫名稱

  • 如果 SharePoint 是部署的一部分,則為 SharePoint 的新 URL。

  • 如果它們是使用 Git 的 Team 專案成員,則提供如何針對該專案的每項儲存機制更新本機上所擁有的每項複製品的指示。 具體來說,它們必須對每項複製品執行下列命令:

    git remote set-url <remote name> <new URL>
    

    使用者可以從總管索引標籤瀏覽 Team 專案,查看每個複製品的 URL。

    複製要在其中手動複製儲存機制的 URL

    這裡進一步了解 Git。

5-d.設定新 TFS 執行個體上的備份

在管理主控台中,移至 [排程備份] 節點,並重新設定排程備份以備份新伺服器上的 TFS 資料庫。

如需詳細資訊,請參閱設定備份排程和計劃

問與答

問:我想要變更網域,而非實體伺服器。可以這麼做嗎?

**答:**可以。 這就稱為以環境為基礎的移動,您可以在這裡找到相關步驟。 您不該嘗試合併「以環境為基礎的移動」與「以硬體為基礎的移動」。 請先完成硬體移動,再變更環境。

問:移動硬體之後,您需要執行哪些步驟來和 Project Server 整合?

答: 是的,在完成硬體移動後,您將需要使用 TFSAdmin ProjectServer/RegisterPWA命令搭配**/tfs**、/force 和**/pwa** 選項,重新向 Project Server 註冊 TFS。 您可以在這裡,閱讀有關 TFS 與 Project Server 整合的相關資訊。