HOW TO:從單一伺服器移至雙重伺服器部署

更新:2007 年 11 月

您可以透過從單一伺服器移至 Visual Studio Team System Team Foundation Server 的雙重伺服器部署,以便支援更多的專案或提升效能。在雙重伺服器部署中,將會有兩部以上的實體伺服器負責裝載 (Host) 組成 Team Foundation 之邏輯應用程式和資料層的元件。從單一伺服器移至雙重伺服器部署時,您會將原始伺服器轉換成應用程式層伺服器,並在資料層伺服器上安裝及設定 and configure SQL Server。接著您會將 SharePoint 產品和技術以及 SQL Server Reporting Services 重新導向到新的資料層伺服器,並將資料從原始部署還原到新的資料層伺服器。如需詳細資訊,請參閱 Team Foundation Server 移動類型

在執行這種移動類型之前,您應該詳加閱讀本主題,並考慮列印所有的必要步驟。您也應該考慮列印本主題所連結的主題,以及包含其他必要步驟相關資訊的主題。

在這種移動過程中,您不能執行下列任何一項動作:

  • 您不能變更服務帳戶。

  • 您不能變更原始伺服器的名稱或網域。

  • 您不能將資料層伺服器安裝在與原始部署不同而且沒有足夠信任的網域中。

您必須按照順序完成下列章節說明的程序,才能執行這種移動類型。

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

  2. 安裝 SQL Server 與準備新硬體

  3. 還原資料庫

  4. 重新導向 SharePoint 產品和技術以使用新的內容資料庫

  5. 重新連接管理和組態資料庫

  6. 重新導向及測試 SQL Report Server、Reporting Services 和預設報表

  7. 將應用程式層伺服器重新導向到新的資料層

  8. 重建 Team System Cube

  9. 刪除版本控制快取

  10. 更新服務帳戶

  11. 重新啟動服務

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

必要的使用權限

要完成這些程序,您在舊的和新的伺服器上都必須是 [Administrators]群組以及 [Team Foundation Administrators] 群組的成員。

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

  • 若要依照命令列程序執行,您可能必須開啟較高權限的命令提示字元,方法是按一下 [開始],以滑鼠右鍵按一下 [命令提示字元],再按一下 [以系統管理員身分執行]。

  • 若要依照需要用到 Internet Explorer 的程序執行,您可能必須以系統管理員的身分啟動 Internet Explorer,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下 [Internet Explorer],然後按一下 [以系統管理員身分執行]。

  • 若要編輯 web.config 檔案,您可能必須以系統管理員的身分啟動文字編輯器,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下編輯器,然後按一下 [以系統管理員身分執行]。

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

如需詳細資訊,請參閱 Microsoft 網站 (英文)。

備份資料庫和加密金鑰

您必須先備份 Team Foundation 的資料庫,才能將部署從單一伺服器變更為雙重伺服器組態。在移動的過程中,您會將這些資料庫還原到新的資料層伺服器。

若要備份資料庫和加密金鑰

  1. 備份 Team Foundation 的所有資料庫。

    如需詳細資訊,請參閱 HOW TO:備份 Team Foundation Server

    注意事項:

    此外,您也必須備份任何想要保留的 SharePoint 產品和技術自訂網站定義、自訂網站範本或自訂 Web 組件。如需詳細資訊,請參閱 Microsoft 網站的<Windows SharePoint Services 2.0 的備份及還原選項>(英文) 或 (若為 Windows SharePoint Services 3.0) Microsoft 網站的<選擇備份和還原工具 (Windows SharePoint Services)>(英文)。如果應用程式層上安裝了 SharePoint 產品和技術,而且您想將 SharePoint 產品和技術的資料庫移到新的資料層,請務必備份 SharePoint 產品和技術的系統管理資料庫 (SharePoint_AdminContent_ID),以及內容和組態資料庫。

  2. 備份 Reporting Services 的加密 (Encryption) 金鑰。請務必將此加密金鑰儲存在與執行 Team Foundation Server 之伺服器不同的電腦上的安全位置,並確認應用程式層伺服器可以存取這個金鑰。您也必須儲存用來加密此金鑰的密碼。

    如需詳細資訊,請參閱 HOW TO:備份 Reporting Services 加密金鑰

安裝 SQL Server 與準備新硬體

備份資料庫之後,您必須將 SQL Server 安裝在要做為部署之新資料層伺服器的電腦上。

若要安裝 SQL Server 及準備伺服器進行移動

  1. 在新的環境中安裝 SQL Server,並確認它可以運作。

    如需詳細指示,請開啟 Team Foundation 的安裝指南,並尋找如何在雙重伺服器部署中安裝 SQL Server 的主題。您所安裝的 SQL Server 版本必須與在原始部署中使用的版本相同。您可以在 Microsoft 網站上找到這本指南。

  2. 在應用程式層伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools

  3. 請在命令提示字元中輸入下列命令:

    TfsDB.exe install /server:"NewSQLServerName" /property:"TFS_SERVICE_ACCOUNT=TFSServiceAccount;TFS_REPORTING_ACCOUNT=TFSReportingServiceAccount;LCID=LCIDNumber;VSTF_AS_INSTANCE=AnalysisServicesServerName;VSTF_AS_DATABASE=TeamFoundationDataWarehouseName;VSTF_AS_ACCOUNT="

    • NewSQLServerName 是您剛才安裝 SQL Server 以及想要在上面還原資料的伺服器名稱。如果您使用具名執行個體 (Instance),則除了伺服器名稱之外,您還必須包含執行個體名稱。

    • TFSServiceAccount 是 Team Foundation Server 的服務帳戶,其格式為 Domain\Account 或 Computer\Account。如果您使用的是系統帳戶,必須使用 System\Account 格式指定該帳戶。例如,如果您要使用 Network Service,應該將它指定為 NT Authority\Network Service

    • TFSReportingServiceAccount 是 Reporting Services 的資料來源帳戶,其格式為 Domain\Account 或 Computer\Account。

    • LCIDNumber 是您的 SQL Server 語言版本的語言定序 ID 編號。例如,英文的 LCID 是 1033

    • AnalysisServicesServerName 是安裝 SQL Server Analysis Services 之伺服器的名稱。根據預設,這是與 NewSQLServerName 相同的伺服器。

    • TeamFoundationDataWarehouseName 是 Team Foundation 之原始資料倉儲的名稱。這個值預設為 TfsWarehouse

  4. 在執行 Reporting Services 的伺服器上,擷取及儲存 Reporting Services 的安裝 ID 清單。

    1. 開啟 [命令提示字元] 視窗,並切換至下列目錄:

      %ProgramFiles%\Microsoft SQL Server\90\Tools\binn\

    2. 執行 RSKeyMgmt -l

    3. 請記下安裝識別碼,並列印清單或將此清單儲存在安全位置。

  5. 登入適當的伺服器,開啟電腦管理員,並依照指定的順序停止下表中的服務和應用程式集區:

    登入裝載此程式的伺服器

    停止此元件

    SharePoint 產品和技術

    • SharePoint Timer Service 或 Windows SharePoint Services Timer

    • 預設的網站或 Team 網站

    應用程式層

    • Visual Studio Team Foundation Server 工作排程器服務

    • Microsoft Team Foundation Server 應用程式集區

    SQL Server Reporting Services

    • SQL Server Reporting Services (TFSINSTANCE) (服務)

    • ReportServer 或 ReportServer$InstanceName (應用程式集區)

      注意事項:

      執行 SQL Server 2005 時,您可以在 Internet Information Services (IIS) 中管理 ReportServer,但執行 SQL Server 2008 時則不適用。

    • 預設的網站或報表管理員網站

    重要事項:

    若要在以還原為基礎的移動中移動使用者帳戶和服務帳戶,新的 Team Foundation Server 部署必須為已停止的狀態。如果在還原資料後但尚未移動使用者帳戶和服務帳戶之前重新啟動 Team Foundation Server,可能會導致系統在 TFSIntegration 資料庫中,將要當做移轉目標的使用者標記為已刪除。當群組安全性服務在與 Active Directory 同步處理期間找不到使用者系統的系統識別碼 (SID) 時,就會發生這個問題。

    如需如何啟動及停止服務和應用程式集區的詳細資訊,請參閱 HOW TO:停止和啟動服務、應用程式集區和網站

還原資料庫

當您停止服務之後,可以使用 SQL Server 提供的還原工具來還原 Team Foundation 的資料。

警告:

您必須將所有的資料庫還原到同一個時間點。否則,這些資料庫可能會損毀。

若要開啟還原資料庫對話方塊

  1. 在新的資料層伺服器上,按一下 [開始],指向 [所有程式],再指向 [Microsoft SQL Server],然後按一下 [SQL Server Management Studio]。

    注意事項:

    如需如何還原資料庫的詳細資訊,請參閱 Microsoft 網站上的<實作 SQL Server 資料庫的還原實例>(英文)。

  2. 在 [伺服器類型] 清單中,按一下 [資料庫引擎]。

  3. 在 [伺服器名稱] 清單中,按一下或輸入適當的伺服器。

  4. 在 [驗證] 清單中,按一下適當的配置。

  5. 在 [使用者名稱] 中,輸入有效帳戶的使用者名稱。

  6. 在 [密碼] 中,依照 SQL Server 的要求輸入帳戶密碼,然後按一下 [連接]。

  7. 展開 [資料庫] 節點,顯示構成 Team Foundation 資料層的資料庫清單。

針對下列每一個資料庫完成「若要還原每個資料庫」程序:

  • ReportServer

    注意事項:

    如果使用具名執行個體,這個資料庫將會命名為 ReportServer$InstanceName。

  • ReportServerTempDB

    注意事項:

    如果使用具名執行個體,這個資料庫將會命名為 ReportServerTempDB$InstanceName。

  • SharePoint 產品和技術的組態資料庫 (STS_Config_TFS 或 WSS_Config)

    重要事項:

    只有當原始的單一伺服器部署上安裝了 SharePoint 產品和技術,而且您不會變更它的位置時,才能還原這個資料庫。如果您要在不同的伺服器上使用或安裝 SharePoint 產品和技術,請不要還原這個資料庫。

  • SharePoint 產品和技術 (STS_Content_TFS 或 WSS_Content) 的內容資料庫

    包含 SharePoint 產品和技術資料之資料庫的名稱會隨著安裝的 SharePoint 產品和技術版本,以及安裝人員是否自訂該名稱而有所不同。此外,如果 SharePoint 產品和技術安裝在與 Team Foundation Server 不同的伺服器上,則 Team Foundation 的資料層伺服器上可能不會有這些資料庫。如果沒有這些資料庫,您必須從 Team Foundation Server 個別管理其備份、還原和組態。不過,您應該同步維護資料庫,以避免發生同步處理錯誤。

  • SharePoint 產品和技術的系統管理資料庫 (SharePoint_AdminContent_ID)

    重要事項:

    只有當原始的單一伺服器部署上安裝了 SharePoint 產品和技術,而且您不會變更它的位置時,才能還原這個資料庫。如果您要在不同的伺服器上使用或安裝 SharePoint 產品和技術,請不要還原這個資料庫。 

    • TfsBuild

    • TfsIntegration

    • TfsVersionControl

    • TfsWarehouse

    • TfsWorkItemTracking

    • TfsWorkItemTrackingAttachments

    • TfsActivityLogging (選擇性)

注意事項:

在還原過程中,您必須將針對自訂流程範本建立的任何自訂網站範本或 Web 組件,上載到 SharePoint 產品和技術的資料庫。

若要還原每個資料庫

  1. 以滑鼠右鍵按一下您要還原的資料庫,然後依序指向 [工作]、[還原],再按一下 [資料庫]。

    重要事項:

    在大部分的部署中,SQL Server 資料或 SharePoint 產品和技術資料庫都不會出現在 [資料庫] 節點底下的資料庫清單中。若要還原沒有顯示在清單中的任何資料庫,您必須以滑鼠右鍵按一下 [資料庫] 節點,再按一下 [還原資料庫],然後指定不在清單中的任何資料庫。

    [還原資料庫] 對話方塊隨即開啟。

  2. 按一下 [還原的來源] 底下的 [來源裝置],然後按一下省略符號 (…) 按鈕。

  3. 在 [指定備份] 對話方塊中,指定備份檔案的位置,然後按一下 [確定]。

    您套用的第一個備份必須是完整備份,然後再依照建立的順序還原異動記錄檔 (Transaction Log) 備份。

  4. 在 [選取要還原的備份組] 底下,指定要還原的備份組。

  5. 在 [選取頁面] 窗格中,按一下 [選項],然後選取 [覆寫現有的資料庫] 核取方塊。

  6. 在 [將資料庫檔案還原為] 清單中,確認路徑與您目前的資料庫路徑相符。

    如果您要將資料庫還原至不同的磁碟機,這個步驟就非常重要。

  7. 在 [復原狀態] 底下,按一下適當的狀態。

  8. 請執行下列其中一個步驟:

    • 如果您不要套用其他異動記錄檔,請按一下 [讓資料庫保持備妥可用]。

    • 如果您要套用其他異動記錄檔,請按一下 [使資料庫不運作]。

  9. 按一下 [確定],關閉 [還原資料庫] 對話方塊並還原資料庫。

  10. 如果您要套用其他異動記錄檔,每一組記錄檔備份都必須依照其建立的順序,遵照這個程序來執行。請從完整備份之後所建立的備份開始。

    如需詳細資訊,請參閱 Microsoft 網站上的<套用異動記錄備份>(英文)。

重新導向 SharePoint 產品和技術以使用新的內容資料庫

您必須將 Team 專案的任何網站重新導向到 Team Foundation 之新資料層伺服器上的內容資料庫。如果要移動所有的 SharePoint 產品和技術資料庫,您可以跳過這個程序,並繼續執行本主題後面的「重新連接管理和組態資料庫」程序。

若要將專案網站重新導向為使用新資料層伺服器上的內容資料庫

重新連接管理和組態資料庫

SharePoint 產品和技術將保留在原始的單一伺服器上,也就是現在在新部署中的應用程式層伺服器。不過,您還是必須將它設定為使用新資料層伺服器上的管理和組態資料庫。

若要重新連接 SharePoint 產品和技術的管理和組態資料庫

  1. 登入裝載 SharePoint 產品和技術的伺服器,開啟 [命令提示字元] 視窗,並切換到下列目錄:

    %PROGRAMFILES%\microsoft shared\web server extensions\12\bin.

  2. 輸入下列命令:

    stsadm –o renameserver –oldservername OriginalDataTierServerName -newserver NewDataTierServerName

    如需如何還原 SharePoint 產品和技術的詳細資訊,請參閱 Microsoft 網站上的<白皮書:Office SharePoint 伺服器陣列的備份、還原、高可用性和損毀修復> (英文)。

重新導向及測試 SQL Report Server、Reporting Services 和預設報表

在重新導向 Team 專案的網站之後,您必須將 Reporting Services 重新導向到新的資料層伺服器。

若要還原及驗證 SQL Server 2005 Reporting Services

  1. 在執行 Reporting Services 的伺服器上,按一下 [開始],依序指向 [所有程式]、[Microsoft SQL Server] 和 [組態工具],然後再按一下 [Reporting Services 組態]。

  2. 在 [報表伺服器安裝執行個體選取範圍] 對話方塊中,確認電腦名稱是新應用程式層伺服器的名稱。請確認執行個體名稱為 MSSQLSERVER,然後按一下 [連接]。

    注意事項:

    如果您使用具名執行個體,則必須指定執行個體名稱,而不是 MSSQLSERVER 的預設執行個體。

  3. 在檔案總管窗格中,按一下 [伺服器狀態]。

    [報表伺服器狀態] 窗格隨即開啟。

  4. 在 [執行個體屬性] 中,按一下 [啟動]。

  5. 在檔案總管窗格中,按一下 [資料庫安裝]。

    [資料庫連接] 窗格隨即開啟。

  6. 在 [伺服器名稱] 中,輸入新資料層伺服器的名稱,然後按一下 [連接]。

  7. 在 [SQL Server 連接對話方塊] 對話方塊中,按一下 [確定]。

    [資料庫連接] 窗格隨即開啟。

  8. 按一下 [套用]。

  9. 在 [總管] 窗格中,按一下 [Windows 服務識別]。

    [Windows 服務識別] 頁面隨即開啟。

  10. 在 [內建服務帳戶] 清單中,按一下 [本機服務]。

    [套用] 按鈕將會變成可用狀態。請不要按這個按鈕。

  11. 在 [內建服務帳戶] 清單中,按一下 [網路服務],再按一下 [套用]。

  12. 在 [SQL Server 連接對話方塊] 對話方塊中,按一下 [確定]。

  13. 關閉 Reporting Services 組態工具。

  14. 開啟 [命令提示字元] 視窗,並將目錄變更為 %ProgramFiles%\Microsoft SQL Server\90\Tools\binn。

  15. 輸入下列命令,以列出 Reporting Services 的安裝 ID:

    RSKeyMgmt -l

  16. 在這份清單中,找出對應至舊資料層伺服器的安裝 ID。

  17. 輸入下列命令移除這個安裝 ID,其中 DTInstanceID 對應至舊的資料層伺服器。

    RSKeyMgmt –r DTInstanceID

    注意事項:

    請勿移除對應至新資料層伺服器的安裝 ID。

  18. 在執行 Reporting Services 的伺服器上,按一下 [開始],依序指向 [所有程式]、[Microsoft SQL Server] 和 [組態工具],然後再按一下 [Reporting Services 組態]。

  19. 在 [總管] 窗格中,按一下 [加密金鑰]。

  20. 在 [加密金鑰] 頁面上,按一下 [還原]。

    [加密金鑰資訊] 頁面隨即出現。

  21. 在 [密碼] 中,輸入加密金鑰檔案的密碼。

  22. 在 [金鑰檔案] 中,輸入或按一下備份加密金鑰 (.snk file) 的位置,然後按一下 [確定]。

將應用程式層伺服器重新導向到新的資料層

還原資料庫之後,您必須使用 TfsAdminUtil 命令將部署的原始伺服器 (也就是新的應用程式層伺服器) 重新導向至新的資料層伺服器。

若要將應用程式層伺服器重新導向到新的資料層伺服器

  1. 登入適當的伺服器,開啟電腦管理員,並啟動下表的應用程式集區和程式:

    登入裝載此程式的伺服器

    啟動此元件

    應用程式層

    • Microsoft Team Foundation Server 應用程式集區

    • 預設的網站或 Team 網站

    SQL Server Reporting Services

    • ReportServer 或 ReportServer$InstanceName (應用程式集區)

    • SQL Server Reporting Services (TFSINSTANCE)

    • 預設的網站或報表管理員網站

  2. 開啟 [命令提示字元] 視窗,將目錄變更為 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然後輸入下列命令:

    TfsAdminUtil RenameDT newDataTierServerName

    重要事項:

    為了使這個命令成功,上一個步驟中的應用程式集區和程式必須在執行中。這是 Visual Studio Team System 2008 Team Foundation Server 中的新要求。此外,這個命令也要求服務 web.config 檔案中的連接字串 (Connection String) 必須參考到部署的原始伺服器。如果連接字串參考到新的資料層伺服器,命令將會失敗。您必須還原原始伺服器的名稱,命令才能正確執行。

重建 Team System Cube

設定連接並執行 TFSAdminUtil RenameDT 命令之後,您必須重建 Team System Cube。Team System Cube 可支援 SQL Server Reporting Services,而且包含 Team System 資料倉儲之關聯式資料庫中的資料。如需詳細資訊,請參閱瞭解資料倉儲架構

若要重建 Team System Cube

刪除版本控制快取

重建 Team System Cube 之後,您必須刪除應用程式層伺服器 (以及任何 Proxy 伺服器) 上的版本控制快取,以強制進行與新資料層伺服器的同步處理。

若要刪除版本控制快取

  1. 在應用程式層伺服器上,開啟 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl 目錄。

  2. 刪除 Data 子目錄的內容,但是不要刪除 Data 子目錄本身。

    如需詳細資訊,請參閱 HOW TO:刪除應用程式層伺服器上的版本控制快取

  3. 在部署中任何執行 Team Foundation Server Proxy 的伺服器上重複此程序。

更新服務帳戶

如果您在單一伺服器部署上使用本機帳戶或系統帳戶 (例如「網路服務」) 做為服務帳戶,則必須變更這些帳戶。您不能在雙重伺服器部署中使用本機帳戶。您可以使用相同的系統帳戶,但是必須更新資訊,以便讓正確的 SID 與新的應用程式層和資料層伺服器上的每個帳戶產生關聯。

注意事項:

您在新部署上建立的帳戶名稱必須符合原始部署中的名稱。這項要求包括使用者帳戶和服務帳戶。

若要重新整理服務帳戶

  1. 在執行 Reporting Services 的伺服器上,開啟電腦管理員,並啟動下列元件 (如果尚未啟動的話):

    • ReportServer 或 ReportServer$InstanceName (應用程式集區)

    • SQL Server Reporting Services (TFSINSTANCE)

  2. 在新的應用程式層伺服器上,開啟 [命令提示字元] 視窗,並將目錄切換至 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

  3. 在命令列中輸入下列命令:

    TfsAdminUtil ChangeAccount OldDomainOrComputerName\OldTFSServiceAccount NewDomainOrComputerName\NewTFSServiceAccount NewPassword

    注意事項:

    忽略說明此服務帳戶不存在或是指出此帳戶不是資料倉儲角色成員的任何警告。

  4. 在命令列中輸入下列命令:

    TfsAdminUtil ChangeAccount/ra OldDomainOrComputerName\OldTFSReportingServiceAccount NewDomainOrComputerName\NewTFSReportingServiceAccount NewPassword

    注意事項:

    忽略說明此服務帳戶不是資料倉儲角色成員或是提示您將此帳戶加入至服務帳戶群組的任何警告。

重新啟動服務

若要繼續作業,您必須重新啟動 Team Foundation 所依賴的服務。

若要重新啟動服務

  • 登入適當的伺服器,開啟電腦管理員,並依照指定的順序啟動下表中的元件:

    登入裝載此程式的伺服器

    啟動此元件

    SharePoint 產品和技術

    • SharePoint Timer Service 或 Windows SharePoint Services Timer

    應用程式層

    • Visual Studio Team Foundation Server 工作排程器服務

    • Microsoft Team Foundation Server 應用程式集區

重新整理用戶端電腦上的資料快取

若要重新整理用戶端電腦上的資料快取

請參閱

工作

HOW TO:將您的 Team Foundation Server 從一種環境移到另一種環境

HOW TO:將您的 Team Foundation Server 從一種硬體組態移到另一種硬體組態

概念

Team Foundation Server 移動類型

Team Foundation 的應用程式層伺服器需求

Team Foundation 的資料層伺服器需求

在工作群組中管理 Team Foundation Server

Team Foundation Server 安全性架構

其他資源

在 Active Directory 網域中管理 Team Foundation Server

選擇 Team Foundation Server 部署組態