HOW TO:將 Team Foundation Server 的資料還原至其他伺服器
更新:2007 年 11 月
您可以將 Team Foundation 的資料從某部資料層伺服器還原到另一部資料層伺服器,但仍保留相同的應用程式層伺服器。例如,您可能想在升級資料層的伺服器硬體時,移動資料層。此外,如果伺服器發生未預期的失敗,您可能必須建立資料層伺服器。這個程序與在兩組硬體之間移動 Team Foundation Server 的完整部署 (應用程式層和資料層) 不同。如需詳細資訊,請參閱 Team Foundation Server 移動類型。
必要的使用權限
您必須是下列群組的成員,才能執行這些程序:
資料層和應用程式層伺服器上的 [Administrators] 群組
[Team Foundation Administrators] 群組
Windows SharePoint Services網站的 [Administrator] 群組
資料層伺服器上 SQL Server 的 [Administrator] 群組
如需詳細資訊,請參閱 Team Foundation Server 使用權限。
除了這些使用權限之外,在執行 Windows Server 2008 或 Windows Vista 的電腦上,您可能還必須滿足下列需求:
若要依照命令列程序執行,您可能必須開啟較高權限的命令提示字元,方法是按一下 [開始],以滑鼠右鍵按一下 [命令提示字元],再按一下 [以系統管理員身分執行]。
若要依照需要用到 Internet Explorer 的程序執行,您可能必須以系統管理員的身分啟動 Internet Explorer,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下 [Internet Explorer],然後按一下 [以系統管理員身分執行]。
若要編輯 web.config 檔案,您可能必須以系統管理員的身分啟動文字編輯器,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下編輯器,然後按一下 [以系統管理員身分執行]。
若要存取 SQL Server Reporting Services 的報表管理員、報表或網站,您可能必須將這些網站加入至 Internet Explorer 中的信任網站清單,或是以系統管理員的身分啟動 Internet Explorer。
如需詳細資訊,請參閱 Microsoft 網站 (英文)。
若要將 Team Foundation 的資料還原到另一部資料層伺服器,您必須依照順序完成下列章節中的程序:
備份資料
在新的硬體上安裝及設定 SQL Server
還原資料庫
重新導向 Team 專案的網站
重新連接管理和組態資料庫
重新導向及測試 SQL Server Reporting Services 和預設報表
將應用程式層伺服器重新導向到新的資料層伺服器
重建 Team System Cube
刪除版本控制快取
更新服務帳戶
重新啟動服務
重新整理用戶端電腦上的資料快取
備份資料
若要從 Team Foundation Server 的原始部署還原資料,您必須擁有 SQL Server 資料庫的一組完整資料備份。如果資料已加密,您還需要加密 (Encryption) 金鑰和它的密碼。
若要備份 Team Foundation 的資料
如需詳細資訊,請參閱 HOW TO:備份 Team Foundation Server 和 HOW TO:備份 Reporting Services 加密金鑰。
注意事項: 如果應用程式層上安裝了 SharePoint 產品和技術,而且您想將 SharePoint 產品和技術的資料庫移到您要還原 Team Foundation 資料庫的資料層,請務必備份 SharePoint 產品和技術 (SharePoint_AdminContent_ID) 的系統管理資料庫,以及內容和組態資料庫。
在新的硬體上安裝及設定 SQL Server
若要還原 Team Foundation 的資料,您必須在要將 Team Foundation Server 的資料移至其中的電腦上安裝 SQL Server。您安裝的 SQL Server 版本必須與原始資料層伺服器上的版本完全相符,包括 Service Pack 等級、定序 (Collation) 設定和語言版本。若未完全相符,則可能無法還原資料。
若要安裝及準備 SQL Server 以還原 Team Foundation 的資料
在新的環境中安裝 SQL Server,並確認它可以運作。
如需詳細資訊,您可以從 Microsoft 網站下載最新版本的 Team Foundation 安裝指南。您可以在這本指南中找到如何在雙重伺服器部署中安裝 SQL Server 的主題。安裝的版本必須與在 Team Foundation Server 原始安裝中使用的版本相同。
在應用程式層伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。
注意事項: 即使您已使用管理認證登入,還是必須開啟較高權限的命令提示字元,在執行 Windows Server 2008 的伺服器上執行此函式。若要開啟較高權限的命令提示字元,請按一下 [開始],以滑鼠右鍵按一下 [命令提示字元],再按一下 [以系統管理員身分執行]。如需詳細資訊,請參閱 Microsoft 網站 (英文)。
請在命令提示字元中輸入下列命令:
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 之伺服器的名稱。根據預設,Analysis Services 會安裝在您為 NewSQLServerName 指定的同一部伺服器上。
TeamFoundationDataWarehouseName 是 Team Foundation 之原始資料倉儲的名稱。這個值預設為 TfsWarehouse。
登入適當的伺服器,開啟電腦管理員,並依照指定的順序停止下表中的元件:
登入裝載 (Host) 此程式的伺服器
停止此元件
SharePoint 產品和技術
SharePoint Timer Service 或 Windows SharePoint Services Timer
應用程式層
Visual Studio Team Foundation Server 工作排程器服務
Microsoft Team Foundation Server 應用程式集區
Reporting Services
SQL Server Reporting Services (TFSINSTANCE) (服務)
ReportServer 或 ReportServer$InstanceName (應用程式集區)
注意事項: 您可以在 Internet Information Services (IIS) 中管理 SQL Server 2005 的 ReportServer,但是不能管理 SQL Server 2008 的 ReportServer。
如需詳細資訊,請參閱 HOW TO:停止和啟動服務、應用程式集區和網站。
重要事項: 若要在以還原為基礎的移動中移動使用者帳戶和服務帳戶,新的部署必須為已停止的狀態。如果在還原資料後但尚未移動使用者帳戶和服務帳戶之前重新啟動 Team Foundation Server,可能會導致系統在 TFSIntegration 資料庫中,將要當做移轉目標的使用者標記為已刪除。當群組安全性服務在與 Active Directory 同步處理期間找不到使用者的 SID 時,就會發生這個問題。
還原資料庫
當您停止服務之後,可以使用 SQL Server 提供的還原工具來還原 Team Foundation 的資料。如需詳細資訊,請參閱 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<實作 SQL Server 資料庫的還原實例>。
警告: |
---|
您必須將所有的資料庫還原到同一個時間點。否則,這些資料庫可能會損毀。 |
若要開啟還原資料庫對話方塊
在資料層伺服器上,按一下 [開始],指向 [所有程式],再指向 [Microsoft SQL Server],然後按一下 [SQL Server Management Studio]。
在 [伺服器類型] 清單中,按一下 [資料庫引擎]。
在 [伺服器名稱] 清單中,按一下或輸入適當的伺服器。
在 [驗證] 清單中,按一下適當的配置。
在 [使用者名稱] 中,輸入有效帳戶的使用者名稱。
在 [密碼] 中,依照 SQL Server 的要求輸入帳戶密碼,然後按一下 [連接]。
展開 [資料庫] 節點,顯示 Team Foundation 資料層包含的資料庫清單。
針對下列清單中的每個資料庫完成後面的「若要還原每個資料庫」程序:
ReportServer
如果使用具名執行個體,這個資料庫將會命名為 ReportServer$InstanceName。
ReportServerTempDB
如果使用具名執行個體,這個資料庫將會命名為 ReportServerTempDB$InstanceName。
SharePoint 產品和技術的組態資料庫 (STS_Config_TFS 或 WSS_Config)
重要事項: 只有當應用程式層伺服器上安裝了 SharePoint 產品和技術,而且您不會變更它的位置時,才能還原這個資料庫。如果您要使用另一部電腦上新的 SharePoint 產品和技術安裝,或者 SharePoint 產品和技術安裝在與應用程式層不同的其他伺服器,就不能將這個資料庫還原到新的資料層。
SharePoint 產品和技術 (STS_Content_TFS 或 WSS_Content) 的內容資料庫
包含 SharePoint 產品和技術 資料之資料庫的名稱會隨著安裝的 SharePoint 產品和技術版本,以及安裝人員是否自訂該名稱而有所不同。此外,如果 SharePoint 產品和技術安裝在與 Team Foundation Server 不同的其他伺服器上,則這些資料庫可能就不在資料層伺服器上。如果這些資料庫位於另一部伺服器,您必須從 Team Foundation Server 個別管理其備份、還原和組態。不過,您應該同步 (Synchronize) 維護資料庫,以避免發生同步處理錯誤。
SharePoint 產品和技術 的系統管理資料庫 (SharePoint_AdminContent_ID)
重要事項: 只有當應用程式層伺服器上安裝了 SharePoint 產品和技術,而且您不會變更它的位置時,才能還原這個資料庫。如果您要使用另一部電腦上新的 SharePoint 產品和技術安裝,或者 SharePoint 產品和技術安裝在與應用程式層不同的其他伺服器,就不能將這個資料庫還原到新的資料層。
TfsBuild
TfsIntegration
TfsVersionControl
TfsWarehouse
TfsWorkItemTracking
TfsWorkItemTrackingAttachments
TfsActivityLogging (選擇性)
注意事項: |
---|
在還原過程中,您必須將針對自訂流程範本新建的任何自訂網站範本或 Web 組件,上載到 SharePoint 產品和技術的資料庫。 |
若要還原每個資料庫
以滑鼠右鍵按一下您要還原的資料庫,然後依序指向 [工作]、[還原],再按一下 [資料庫]。
重要事項: 在大部分的部署中,SQL Server 資料或 SharePoint 產品和技術資料庫都不會出現在 [資料庫] 節點底下的資料庫清單中。若要還原尚未出現的任何資料庫,請以滑鼠右鍵按一下 [資料庫] 節點,再按一下 [還原資料庫],並指定沒有出現的任何資料庫。
[還原資料庫] 對話方塊隨即開啟。
按一下 [還原的來源] 底下的 [來源裝置],然後按一下省略符號 (…) 按鈕。
在 [指定備份] 對話方塊中,指定備份檔案的位置,然後按一下 [確定]。
您還原的第一個備份必須是完整備份,然後再依照建立的順序還原異動記錄檔 (Transaction Log) 備份。
在 [選取要還原的備份組] 底下,指定要還原的備份組。
在 [選取頁面] 窗格中,按一下 [選項],然後選取 [覆寫現有的資料庫] 核取方塊。
在 [將資料庫檔案還原為] 清單中,確認指定的路徑與您目前的資料庫路徑相符。
如果您要將資料庫還原至不同的磁碟機,這個步驟就非常重要。
在 [復原狀態] 底下,按一下適當的狀態。
請執行下列其中一個步驟:
如果您不要套用其他異動記錄檔,請按一下 [讓資料庫保持備妥可用]。
如果您要套用其他異動記錄檔,請按一下 [使資料庫不運作]。
按一下 [確定],關閉 [還原資料庫] 對話方塊並還原資料庫。
如果您要套用其他異動記錄檔,每一組記錄檔備份都必須依照其建立的順序,遵照這個程序來執行。請從完整備份之後所建立的備份開始。
如需詳細資訊,請參閱 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<套用交易記錄備份>(英文)。
重新導向 Team 專案的網站
您必須將 Team 專案的任何網站重新導向到 Team Foundation 之新資料層伺服器上的內容資料庫。如果要移動所有的 SharePoint 產品和技術資料庫,您可以跳過這個程序,並繼續執行本主題後面的「重新連接管理和組態資料庫」程序。
若要將專案網站重新導向為使用新資料層伺服器上的內容資料庫
登入裝載 SharePoint 產品和技術的伺服器,並將它重新導向,以使用新資料層伺服器上的內容資料庫。
如需詳細資訊,請參閱 HOW TO:重新導向 SharePoint 產品和技術使用新的內容資料庫。
重新連接管理和組態資料庫
如果原始資料層伺服器也將 SharePoint 產品和技術的資料庫裝載在 Team Foundation Server 的部署中,而且您想要將這些資料庫還原到新的伺服器,則必須執行下列程序。不過,如果 SharePoint 產品和技術安裝在其他伺服器,或者您要繼續使用原始資料層做為 SharePoint 產品和技術的資料層,就不能執行這個程序。
若要重新連接 SharePoint 產品和技術的管理和組態資料庫
登入裝載 SharePoint 產品和技術的伺服器,開啟 [命令提示字元] 視窗,然後將目錄切換到 %PROGRAMFILES%\common files\microsoft shared\web server extensions\12\bin。
輸入下列命令:
stsadm –o renameserver –oldservername OriginalDataTierServerName -newserver NewDataTierServerName
如需還原 SharePoint 產品和技術 的詳細資訊,請參閱 Microsoft 網站上的<白皮書:Office SharePoint 伺服器陣列的備份、還原、高可用性和損毀修復> (英文)。
重新導向及測試 SQL Server Reporting Services 和預設報表
將 SharePoint 產品和技術重新導向至新的內容資料庫之後,您必須將 Reporting Services 重新導向為使用新的資料庫。除非執行這個程序,否則任何 Team 專案都不會有預設和自訂報表可以使用。
若要重新導向 Reporting Services 以連接到新的資料層伺服器
登入裝載 Reporting Services 的伺服器,並將它重新導向,以連接到新資料層伺服器上的資料庫。
如需詳細資訊,請參閱 HOW TO:重新導向 Reporting Services 以連接至不同的資料層伺服器。
將應用程式層伺服器重新導向到新的資料層伺服器
重新導向 Reporting Services 之後,您必須使用 TfsAdminUtil 命令將應用程式層伺服器重新導向至新的資料層伺服器。
若要將應用程式層伺服器重新導向到新的伺服器資源
登入適當的伺服器,開啟電腦管理員,並啟動下表中的應用程式集區和程式:
登入裝載此程式的伺服器
啟動此元件
應用程式層
Microsoft Team Foundation Server 應用程式集區
預設的網站或 Team 網站
Reporting Services
ReportServer 或 ReportServer$InstanceName (應用程式集區)
注意事項: 您可以在 IIS 中將 SQL Server 2005 的 ReportServer 當做應用程式集區管理,但是不能以這種方式管理 SQL Server 2008 的 ReportServer。
SQL Server Reporting Services (TFSINSTANCE)
預設的網站或報表管理員網站
開啟 [命令提示字元] 視窗,將目錄變更為 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然後輸入下列命令:
TfsAdminUtil RenameDT newTeamFoundationDataTierServerName
重要事項: 為了使 RenameDT 命令成功,上一個步驟中的應用程式集區和程式必須在執行中。這是 Visual Studio Team System 2008 Team Foundation Server 中的新要求。此外,服務 Web.config 檔案中的連接字串 (Connection String) 還必須參考到舊資料層伺服器的名稱。如果這個字串參考到新伺服器,命令將會失敗。您必須還原原始伺服器的名稱,命令才能正確執行。
重建 Team System Cube
將應用程式層伺服器重新導向為使用新的資料層伺服器之後,您必須重建 Team System Cube。Team System Cube 可支援 SQL Server Reporting Services,而且包含 Team System 資料倉儲之關聯式資料庫中的資料。如需詳細資訊,請參閱瞭解資料倉儲架構。
若要重建 Team System Cube
登入應用程式層伺服器,然後重建 Team System Cube。
如需詳細資訊,請參閱 HOW TO:重建 Team System Cube。
刪除版本控制快取
重建 Team System Cube 之後,您必須刪除應用程式層伺服器 (以及任何 Proxy 伺服器) 上的版本控制快取,以強制進行與新資料層伺服器的同步處理。
若要刪除版本控制快取
在應用程式層伺服器上,開啟下列目錄:
Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl
刪除 Data 目錄的內容,但不要刪除目錄本身。
如需詳細資訊,請參閱 HOW TO:刪除應用程式層伺服器上的版本控制快取。
在部署中任何執行 Team Foundation Server Proxy 的伺服器上重複此程序。
更新服務帳戶
您必須更新在部署中當做服務帳戶的任何系統帳戶,例如網路服務。您可以使用相同的系統帳戶,但是必須更新資訊,以便在新的資料層伺服器上關聯正確的 SID。
注意事項: |
---|
您為新部署建立的帳戶名稱必須符合原始部署中的帳戶名稱。 |
若要更新服務帳戶
在執行 Reporting Services 的伺服器上,開啟電腦管理員,並啟動下列元件 (如果尚未啟動的話):
ReportServer 或 ReportServer$InstanceName (應用程式集區)
SQL Server Reporting Services (TFSINSTANCE)
在新的應用程式層伺服器上,開啟 [命令提示字元] 視窗,並將目錄切換至 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。
請在命令提示字元中輸入下列命令:
TfsAdminUtil ChangeAccount OldDomainOrOldComputerName\OldTFSServiceAccount NewDomainOrNewComputerName\NewTFSServiceAccount NewPassword
注意事項: 忽略說明此服務帳戶不存在或是指出此帳戶不是資料倉儲角色成員的任何警告。
請在命令提示字元中輸入下列命令:
TfsAdminUtil ChangeAccount/ra OldDomainOrOldComputerName\OldTFSReportingServiceAccount NewDomainOrNewComputerName\NewTFSReportingServiceAccount NewPassword
注意事項: 忽略說明此服務帳戶不是資料倉儲角色成員或是提示您將此帳戶加入至服務帳戶群組的任何警告。
重新啟動服務
若要重新啟動服務
登入適當的伺服器,開啟電腦管理員,並依照指定的順序啟動下表中的元件:
登入裝載此程式的伺服器
啟動此元件
SharePoint 產品和技術
SharePoint Timer Service 或 Windows SharePoint Services Timer
應用程式層
Visual Studio Team Foundation Server 工作排程器服務
Microsoft Team Foundation Server 應用程式集區
重新整理用戶端電腦上的資料快取
若要重新整理用戶端電腦上的資料快取
使用 ClientService Web 服務強制用戶端在下次連接到應用程式層伺服器時,更新用來追蹤工作項目的快取。
如需詳細資訊,請參閱 HOW TO:重新整理用戶端電腦上的資料快取。
請參閱
工作
HOW TO:備份 Team Foundation Server
HOW TO:將您的 Team Foundation Server 從一種硬體組態移到另一種硬體組態