將資料還原至相同的位置
您可以將備份的資料還原至與資料備份所在之 Team Foundation 相同的伺服器和 SQL Server 執行個體。例如,您可能想要將損毀的一組資料庫還原為其上次已知良好狀態。為確保成功復原資料,您應該使用標示的交易當做備份策略的一部分。如需詳細資訊,請參閱Back Up Team Foundation Server。
提示 |
---|
Team Foundation Server 2012 有適用的備份與還原強大工具。使用這個工具可以大幅簡化維護和還原部署的工作。您可以在這裡找到強大工具的最新版本。 |
您的伺服器硬體必須正常運作,才能遵照本主題中的程序進行。如果您的部署使用的是 SharePoint 產品或 Microsoft Project Server,您必須執行本主題程序所述的額外步驟以備份和還原其資料庫。如果要將資料還原至另一部伺服器或另一個 SQL Server 執行個體,請參閱 將單一伺服器部署還原至新硬體 [教學課程]。
注意事項 |
---|
如果您在部署中使用 SharePoint 產品,則還原資料時不需要還原根據每個 Team 專案資料自動產生的網站。Team 專案入口網站的資料包含在您還原的資料庫中。 |
將資料還原至一部或多部相同伺服器的步驟,會根據 Team Foundation Server 的安裝和設定方式而不同。為求簡化,本主題中之程序的結構是針對 Team Foundation Server 的中度複雜部署 (如下圖所示):
如果您的拓撲未完全符合此範例,則可能需要調整此程序中的步驟,才能順利依照此程序進行。例如,如果您的部署是所有元件都安裝在單一實體伺服器上,則會在該伺服器上執行所有的程序。如果 Team 專案集合的資料庫是部署至多部伺服器,則您必須執行步驟,以還原適當伺服器上的每個集合資料庫。如需每部伺服器上可能部署哪些元件的詳細資訊,請參閱下列主題:
本主題內容
必要的使用權限
停止 Team Foundation Server 所使用的服務
還原 Team Foundation 資料庫
更新所有服務帳戶
還原倉儲
清除伺服器上的資料快取
重新啟動 Team Foundation Server 所使用的服務
重新整理用戶端電腦上的資料快取
必要的使用權限
若要執行這個程序,您必須是下列群組的成員或擁有下列使用權限:
一部或多部執行 Team Foundation 管理主控台之伺服器上的 [Administrators] 安全性群組成員。
將裝載資料庫之 SQL Server 執行個體上的 [SQL Server 系統管理員] 安全性群組成員,或是 [SQL Server 執行備份及建立維護計畫] 權限必須設為 [允許]。
Team Foundation 之資料庫執行個體及倉儲資料庫之 Analysis Services 執行個體的 sysadmin 安全性群組成員。
TFS_Warehouse 資料庫的授權使用者。
TFSEXECROLE 資料庫角色的成員。
如果部署使用 SharePoint 產品,則是還原 SharePoint 產品資料庫之伺服器陣列的 [Farm Administrators] 群組成員
除了這些使用權限之外,在執行 Windows Server 2008 的電腦上,您可能還必須滿足下列需求:
若要依照命令列程序執行,您可能必須開啟較高權限的命令提示字元,方法是按一下 [開始],並以滑鼠右鍵按一下 [命令提示字元],然後按一下 [以系統管理員身分執行]。
若要依照需要 Internet Explorer 的程序執行,您可能必須以系統管理員的身分啟動 Internet Explorer,方法是按一下 [開始],再按一下 [所有程式],並以滑鼠右鍵按一下 [Internet Explorer],然後按一下 [以系統管理員身分執行]。
若要存取 SQL Server Reporting Services 的報表管理員、報表或網站,您可能必須將這些網站加入至 Internet Explorer 中的信任網站清單,或是以系統管理員的身分啟動 Internet Explorer。
如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:使用者帳戶控制。
停止 Team Foundation Server 所使用的服務
若要停止 Team Foundation Server 所使用的服務
在執行 Team Foundation 之應用程式層服務的伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。
輸入下列命令:
TFSServiceControl quiesce
如需詳細資訊,請參閱TFSServiceControl 命令。
還原 Team Foundation 資料庫
當您停止服務之後,可以使用 SQL Server 提供的還原工具來還原 Team Foundation 的資料。
警告 |
---|
您必須將所有的資料庫還原至同一個時間點,否則資料庫會不同步。下列程序假設您使用標示的交易來協助確保同步處理 Team Foundation Server 使用的資料庫。如需詳細資訊,請參閱Back Up Team Foundation Server。如果您的部署使用的是 SharePoint 產品,則應針對您部署使用的產品版本,遵循其適用的指引。如需詳細資訊,請參閱備份和復原 (SharePoint Foundation 2010) (英文)、備份和還原 (SharePoint Server 2010) (英文) 或保護和還原伺服器陣列 (Office SharePoint Server 2007) (英文)。如果您的部署與 Microsoft Project Server 整合,則應針對您部署使用的產品版本,遵循其適用的指引。如需詳細資訊,請參閱還原資料庫 (Project Server 2007) (英文) 和還原資料庫 (Project Server 2010) (英文)。 |
若要開啟還原資料庫對話方塊
登入您想要在其上還原資料庫的伺服器。
依序選擇 [開始]、[所有程式]、[Microsoft SQL Server 2008],然後選擇 [SQL Server Management Studio]。
注意事項 如需如何還原資料庫的詳細資訊,請參閱 Microsoft 網站上的下列網頁:實作 SQL Server 資料庫的還原實例。
[連接至伺服器] 對話方塊隨即開啟。
在 [伺服器類型] 中,選擇 [資料庫引擎]。
在 [伺服器名稱] 中,選擇或輸入資料層伺服器與資料庫執行個體的名稱,然後選擇 [連接]。
注意事項 如果 SQL Server 安裝在叢集上,那麼伺服器名稱應該是這個叢集的名稱,而不是電腦的名稱。
[SQL Server Management Studio] 隨即開啟。
展開 [資料庫] 節點,顯示構成 Team Foundation 資料層的資料庫清單。
針對每部來源伺服器上的下列所有資料庫,完成下一個程序<若要還原資料庫>:
在裝載 Team Foundation Server 資料庫的一部或多部伺服器上:
TFS_Configuration
注意事項 此資料庫名稱可能會在 TFS_ 與 Configuration 之間包括其他字元。
TFS_CollectionName
注意事項 每個 Team 專案集合都有自己的資料庫。例如,如果您有五個 Team 專案集合,則會有五個資料庫,而每個資料庫都是根據 Team 專案集合的名稱進行識別。這些資料庫可能位於相同的 SQL Server 執行個體、不同的執行個體或不同的實體伺服器上。您必須備份每個資料庫,然後將每個資料庫還原至來源伺服器和執行個體。
VirtualManagerDB
System Center Virtual Machine Manager (SCVMM) 的管理資料庫包含您在 SCVMM 系統管理員主控台中所檢視的資訊,例如虛擬機器、虛擬機器主機、虛擬機器程式庫伺服器以及其屬性。
注意事項 如果 SCVMM 安裝在與 Team Foundation Server 不同的伺服器上,則這個資料庫可能不會存在於 Team Foundation 的資料層伺服器上。在這種情況下,您必須個別從 Team Foundation Server 備份並還原它。不過,您應該使用標示的交易並同步維護資料庫,以避免發生同步處理錯誤。
在執行 SQL Server Reporting Services 的伺服器上 (如果您已針對部署設定資料庫):
ReportServer
注意事項 如果使用具名執行個體,這個資料庫將會命名為 ReportServer$InstanceName。
ReportServerTempDB
注意事項 如果使用具名執行個體,這個資料庫將會命名為 ReportServerTempDB$InstanceName。
在執行 SharePoint 產品的一部或多部伺服器上 (如果您已設定具有一個或多個 SharePoint Web 應用程式的部署):
如果您還原 SharePoint 產品的整個部署,則是 SharePoint 產品的管理資料庫 (WSS_AdminContent)。
SharePoint 產品的組態資料庫 (WSS_Config)。
SharePoint 產品的內容資料庫 (WSS_Content)。
注意事項 包含 SharePoint 產品資料之資料庫的名稱會隨著安裝的 SharePoint 產品版本,以及安裝人員是否自訂該名稱而有所不同。此外,如果 SharePoint 產品安裝在與 Team Foundation Server 不同的其他伺服器上,這些資料庫可能就不在資料層伺服器上。如果這些資料庫位於另一部伺服器,您必須從 Team Foundation Server 個別管理其備份、還原和組態。不過,您應該同步維護資料庫,以避免發生同步處理錯誤。
若要還原 SharePoint 產品使用的資料庫,您應該遵循您的部署中該產品版本所適用的指引。如需詳細資訊,請參閱備份和復原 (SharePoint Foundation 2010) (英文)、備份和還原 (SharePoint Server 2010) (英文) 或保護和還原伺服器陣列 (Office SharePoint Server 2007) (英文)。
在執行 Microsoft Project Server 的一部或多部伺服器上,如果您已將部署與 Project Server 整合,而且必須將資料庫還原至不同的伺服器:
- Project Server 部署所依存的資料庫。如需詳細資訊,請參閱還原資料庫 (Project Server 2007) (英文) 或還原資料庫 (Project Server 2010) (英文)。
如果您不想要重建倉儲:
TFS_Warehouse
注意事項 此資料庫名稱在 TFS_ 與 Warehouse 之間可能包括其他字元。
TFS_Analysis
如需這些資料庫的詳細資訊,請參閱了解備份 Team Foundation Server。
若要還原資料庫
在 [物件總管] 中,反白顯示 [資料庫],開啟子功能表,然後選取 [還原資料庫]。
[還原資料庫] 對話方塊隨即開啟。
在 [資料庫來源:]中指定您要還原資料庫,例如 TFS_Configuration。選擇 [還原的來源] 底下的 [來源裝置],然後選擇省略符號 (…) 按鈕。
在 [指定備份] 對話方塊中,選擇 [加入]。對要還原的資料庫指定備份檔案的位置,然後選取兩次 [確定] 。
您必須先還原完整備份,然後還原差異備份,接著還原交易記錄備份,按照當初建立的順序還原。
在 [選取要還原的備份集] 下,選取要還原的備份集核取方塊。
如果您以標示的交易建立備份組,請務必還原完整、差異和交易記錄資料庫。
在 [選取頁面] 窗格中,選擇 [選項],然後選取 [覆寫現有的資料庫] 核取方塊。
在 [將資料庫檔案還原為] 清單中,確認路徑與您目前的資料庫路徑相符。
在 [復原狀態] 在下, 選取 [離開] 非操作的資料庫並且不要復原未認可異動。無法還原其他異動記錄。(RESTORE WITH RECOVERY),然後選擇 [確定]。
進度圖示隨即出現。
當 [SQL Server Management Studio] 對話方塊出現並確認還原成功時,選擇 [確定] 回到 [物件總管]。
開啟剛還原資料庫的捷徑功能表,然後選取 [工作]、 [重新啟動] ,再選擇 [異動記錄]。
[還原交易記錄] 視窗隨即開啟。
在 [一般] 頁面上,請確定在 [資料庫] 清單中反白顯示適當的資料庫。
在 [選取要還原的交易記錄備份] 底下,選取您要還原之記錄旁邊的核取方塊。
選擇 [還原至] 底下的 [標示的異動]。
[選取標示的交易] 視窗隨即開啟。
在 [選取標示的異動作為停止還原的位置] 清單中,選取您要用來進行還原作業之異動標示旁邊的核取方塊,然後選擇 [確定]。
重要事項 您必須使用在所有資料庫上具有相同日期和時間的相同交易標示,才能順利還原資料。
在 [還原異動記錄] 視窗中,選擇 [確定]。
進度圖示隨即出現。
當 [SQL Server Management Studio] 對話方塊出現並確認還原成功時,請選擇 [確定]。
如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:套用交易記錄備份。
注意事項 |
---|
如果您已還原 Reporting Services 的資料庫,則也必須還原那些資料庫的加密金鑰。 |
若要還原 Reporting Services 的加密金鑰。
依序 [開始], [所有程式]、[Microsoft SQL Server R2] 和 [組態工具],然後選擇 [Reporting Services 組態管理員]。
在 [Reporting Services 設定連接],請指定伺服器名稱,然後選取 [連接]。
在部署的範例,在 [伺服器名稱。]中, Jill 在 [伺服器名稱] 中輸入 FABRIKAMPRIME。由於她使用了預設的執行個體,則不需要從預設 MSSQLSERVE 變更成執行個體名稱。
在 [連接] 窗格中,選取 [金鑰],然後在 [金鑰] 窗格中,選取 [還原]。
[還原加密金鑰] 視窗隨即開啟。
在 [檔案位置],請指定加密金鑰的備份檔案位置。在 [密碼] 中,指定備份加密金鑰時所使用的程式碼,然後選取 [確定]。
還原狀態會出現在 結果中。當 [結果] 區域顯示加密金鑰已還原時,請關閉 Reporting Services 組態管理員。
更新所有服務帳戶
您必須更新 Team Foundation Server 的服務帳戶 (TFSService) 和資料來源帳戶 (TFSReports)。即使這些帳戶未變更,您還是必須更新資訊,以確定帳戶的身分識別和格式正確無誤。
若要更新服務帳戶
在執行 SQL Server Reporting Services 的伺服器上,開啟 [電腦管理],並啟動下列元件 (如果尚未啟動的話):
ReportServer 或 ReportServer$InstanceName (應用程式集區)
SQL Server Reporting Services (TFSINSTANCE)
在應用程式層伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。
在命令提示字元中,輸入下列命令以新增 Team Foundation 的服務帳戶,其中 DatabaseName 是組態資料庫的名稱 (預設是 TFS_Configuration):
**TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName
如需如何使用此命令的詳細資訊,請參閱 Accounts 命令。
如果您的部署使用這些資源,請使用 Accounts 命令來加入報表伺服器的資料來源帳戶和 Team Foundation Server Proxy 的 Proxy 帳戶。
重建倉儲
您可以重建資料倉儲,而不是還原 TFS_Warehouse 和 TFS_Analysis 資料庫。如果您的部署包含大量資料,則重建倉儲將需要相當長的時間。但是,該策略可協助確保適當地同步處理所有資料。當您重建倉儲時,Team Foundation Server 會建立它的執行個體,接著您必須處理該執行個體,以從作業存放區填入資料。
注意事項 |
---|
如果您已在上節還原 TFS_Warehouse 和 TFS_Analysis 資料庫,則不需要執行下列程序。 |
若要重建倉儲
在執行 Team Foundation 之應用程式層服務的伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。
輸入下列命令:
TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword:密碼
其中 Password 是 Reporting Services 資料來源帳戶 (TFSReports) 的密碼。
等候直到命令成功完成。
注意事項 如果命令沒有成功完成,您應檢查是否擁有所有的必要權限。如需詳細資訊,請參閱Troubleshooting the Data Warehouse。
在報表伺服器上,開啟 Internet Explorer,並於 [網址] 列中輸入下列字串:
https://localhost:8080/VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
針對 VirtualDirectory 輸入安裝 Team Foundation Server 時所指定之 Internet Information Services (IIS) 的虛擬目錄。根據預設,此目錄名稱為 tfs。
[WarehouseControlWebService] 頁面隨即開啟。
注意事項 Microsoft Team Foundation Server 應用程式集區必須執行中,才能使用倉儲控制 Web 服務。
選擇 [GetProcessingStatus],然後選擇 [叫用]。
重要事項 服務應針對所有工作傳回 [閒置] 值,其表示目前尚未處理 Cube。如果傳回不同的值,請重複此步驟,直到針對所有工作都傳回 [閒置]。
選擇 [WarehouseControlWebService] 頁面上的 [ProcessAnalysisDatabase],然後選擇 [叫用]。
瀏覽器視窗隨即開啟。當此服務順利開始處理 Cube 時會傳回 [True],如果未順利開始或者目前仍在處理 Cube 則傳回 [False]。
若要判斷何時已處理 Cube,請回到 [WarehouseControlWebService] 頁面,選擇 [GetProcessingStatus],然後選擇 [叫用]。
當 [GetProcessingStatus] 服務針對所有工作傳回 [閒置] 值時,表示處理已完成。
在 Team Foundation 的應用程式層伺服器上,開啟 Computer Management,然後啟動 [Visual Studio Team Foundation 背景工作服務]。
清除伺服器上的資料快取
您的 Team Foundation 部署中的每個應用程式層伺服器都會使用檔案快取,讓使用者可以從資料層伺服器快速下載檔案。當您還原部署時,應該在每個應用程式層伺服器上清除這個快取。否則,當使用者從版本控制下載檔案時,不相符的檔案 ID 可能會造成問題。如果您的部署使用 Team Foundation Server Proxy,您也必須清除每個設定為 Proxy 的伺服器中的資料快取。
注意事項 |
---|
您可以藉由清除資料快取,協助防止下載在版本控制中版本不正確的檔案。除非您要在還原過程中更換部署上的所有硬體,否則應該定期執行這項作業。如果您要更換所有的硬體,則可以略過此程序。 |
若要清除資料快取
在執行 Team Foundation 應用程式層服務或設定了 Team Foundation Server Proxy 的伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Application Tier\Web Services\_tfs_data。
刪除 _tfs_data 目錄中的所有項目。
針對部署中每個應用程式層伺服器及每個執行 Team Foundation Server Proxy 的伺服器,重複這些步驟。
重新啟動 Team Foundation Server 所使用的服務
還原資料之後,您必須重新啟動服務,讓伺服器恢復運作。
若要重新啟動 Team Foundation Server 所使用的服務
在執行 Team Foundation 之應用程式層服務的伺服器上,開啟 [命令提示字元] 視窗,並將目錄變更為 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。
輸入下列命令:
TFSServiceControl unquiesce
如需詳細資訊,請參閱TFSServiceControl 命令。
重新整理用戶端電腦上的快取
若要重新整理用戶端電腦上的追蹤工作項目快取
在新伺服器上開啟 Internet Explorer。
在 [網址] 列中輸入下列網址,以連接至 [ClientService] Web 服務:
http://PublicURL/VirtualDirectory:8080/WorkItemTracking/v3.0/ClientService.asmx
注意事項 即使您已使用管理認證登入,還是必須以系統管理員的身分啟動 Internet Explorer,會出現認證的提示。
選擇 [StampWorkitemCache],然後選擇 [叫用]。
注意事項 StampWorkitemCache 方法不會傳回任何資料。
若要重新整理用戶端電腦上的版本控制快取
在用戶端電腦上,用管理權限開啟 [命令提示字元] 視窗,然後變更至下列目錄:Drive:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE。
在命令提示字元中輸入下列命令,以及集合的 URL,其中包括新伺服器的伺服器名稱和通訊埠編號:
**tf workspaces /collection:http://**ServerName:Port/VirtualDirectoryName/CollectionName
在部署的範例中,其中一個 Jill 開發人員需要重新整理屬於 DefaultCollection 集合成員的專案之的版本控制快取,此集合裝載在 Team Foundation Server 的 FabrikamPrime 部署中。他輸入下列字串:
tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection
如需詳細資訊,請參閱Workspaces Command。