共用方式為


了解備份 Team Foundation Server

您可以藉由建立 Visual Studio Team Foundation Server (TFS) 所需要之資料庫的定期備份排程,協助保護部署免於遺失資料。 若要完整還原 Team Foundation 的部署,您必須先備份所有 TFS 資料庫。 如果您的部署包括 SharePoint 產品或 SQL Server Reporting Services,則也必須備份 TFS 在這些元件中使用的資料庫。 若要防止發生同步處理或資料不符錯誤,您必須將所有備份同步為相同時間戳記。 確保同步處理成功的最簡單方式就是使用標示的異動。 在每一個 Team Foundation 資料庫中定期標示相關的交易,就可以在資料庫中建立一系列通用的復原點。 如需使用 SharePoint Foundation 2010 及報告功能來備份單一伺服器部署的逐步指引,請參閱 建立備份排程和計劃

此外,如果您想要將 Team 專案集合資料庫還原到與其來源不同的部署,則必須先中斷資料庫與 Team Foundation Server 的連結,然後才能備份資料庫。 如需詳細資訊,請參閱Move a Team Project Collection

提示

Team Foundation Server 2012 有適用的備份與還原強大工具。使用這個工具可以大幅簡化維護和還原部署的工作。您可以在這裡找到強大工具的最新版本。

備份資料庫

您可以建立 TFS 使用的資料庫備份,做為保護 Team Foundation 部署以免遺失的主要考量。 下表和隨附的圖例顯示您必須備份的資料庫,以及提供範例說明那些資料庫如何實際散發至部署中。

資料庫類型

產品

選擇性元件?

組態資料庫

Team Foundation Server

倉儲資料庫

Team Foundation Server

Team 專案集合資料庫

Team Foundation Server

SharePoint 產品資料庫

SharePoint 產品

報告資料庫

SQL Server Reporting Services

分析資料庫

SQL Server Analysis Services

ms253151.collapse_all(zh-tw,VS.110).gif部署拓撲

根據您的部署組態,所有需要備份的資料庫可能位在相同的實體伺服器上 (如此範例拓撲所示)。 此範例不包括 SharePoint 產品或 Reporting Services,因此您不需要備份任何與報告、分析或 SharePoint 產品相關聯的資料庫。

包含資料庫的簡單拓撲

替代方式是資料庫可能散發至多部伺服器和伺服器陣列。 在此範例拓撲中,您必須備份六部伺服器或伺服器陣列上的下列資料庫:

  • 組態資料庫

  • 倉儲資料庫

  • 位在 SQL Server 叢集上的 Team 專案集合資料庫

  • 位在執行 SQL Server 之獨立伺服器上的集合資料庫

  • 兩個 SharePoint Web 應用程式的 SharePoint 產品管理資料庫和網站集合資料庫

  • 位在執行 Reporting Services 之伺服器上的資料庫

  • 位在執行 Analysis Services 之伺服器上的資料庫

範例:複雜的資料庫分佈

在上述兩個範例中,您不需要備份任何連接至伺服器的用戶端。 不過,您可能需要先手動清除用戶端電腦上的 Team Foundation Server 快取,這些用戶端電腦才能重新連接至已還原的部署。

ms253151.collapse_all(zh-tw,VS.110).gif要備份的資料庫

下列清單提供您必須備份之項目 (取決於部署資源) 的其他詳細資料。

警告

下列清單中的所有資料庫都是 SQL Server 資料庫。雖然您可以使用 SQL Server Management Studio 隨時備份個別資料庫,但是您應該盡可能避免使用這樣的個別備份。因為 TFS 使用的資料庫都是相關的,所以如果您從個別備份進行還原,則可能會得到非預期的結果。如果您只備份一個資料庫,則該資料庫中的資料會與其他資料庫中的資料不同步。

  • Team Foundation Server 資料庫:Team Foundation Server 的邏輯資料層包括數個 SQL Server 資料庫 (包括組態資料庫、倉儲資料庫和部署中每個 Team 專案集合的資料庫)。 這些資料庫可能都位在相同的伺服器上、散發至相同 SQL Server 部署中的數個執行個體,或散發至多部伺服器。 不論其實際散發情況為何,您都必須將所有資料庫備份為相同時間戳記,以協助確保資料不遺失。 您可以手動執行資料庫備份,也可以使用在特定時間或間隔執行的維護計劃來自動執行資料庫備份。

    警告

    Team Foundation Server 的資料庫清單不是靜態的。每當您建立集合時都會建立新的資料庫。當您建立集合時,請務必將該集合的資料庫加入至您的維護計畫,以便備份 SQL Server 中的 Team Foundation Server 資料庫。

  • SharePoint 產品資料庫:如果您的部署使用 SharePoint 產品裝載 Team 專案入口網站,則必須備份數個資料庫。 這些資料庫包含部署所使用的每個 SharePoint Web 應用程式的系統管理資料庫,以及裝載 Team 專案入口網站的網站集合資料庫。最理想的是,您的部署已經設定讓部署中的每個 Team 專案集合都分別使用不同的網站集合。 就像 Team 專案集合可以在 Team Foundation Server 中當成單位來進行備份和還原,網站集合也可以在 SharePoint 產品 中進行備份和還原。 如果您部署中的一個或多個集合使用網站或子網站,而不是使用網站集合做為它們的根網站,則可能會無法完整備份和還原集合。 如需詳細資訊,請參閱使用 Team 專案集合組織您的伺服器

    注意事項注意事項

    您可能會假設您必須為 Team 專案入口網站網頁備份資料庫和網站,但是,SharePoint 產品會從資料庫動態產生網站。因此,當您備份資料庫時,也會備份顯示為網站之 Team 專案的部分。如果您已經在 Team Foundation 外部的 SharePoint 產品中建立了自訂網站集合、網站範本或 Web 組件,您必須另外備份這些項目。如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:備份 (SharePoint Foundation 2010)

  • Reporting Services 和 Analysis Services 的資料庫:如果您的部署使用 SQL Server Reporting Services 或 SQL Server Analysis Services 產生 Team Foundation Server 的報表,則必須備份報告和分析資料庫。 不過,您在還原之後還是必須重新產生特定資料庫。

  • 報表伺服器的加密金鑰:報表伺服器具有您必須備份的加密金鑰。 此金鑰會保護儲存於報表伺服器資料庫中的機密資訊。 您可以使用 Reporting Services 組態工具或命令列工具,手動備份此金鑰。

備份的進階準備工作

當您部署 Team Foundation 時,應該記錄所建立的帳戶以及電腦名稱、密碼和指定的安裝選項。 您也應該在安全的位置保存所有復原資料、文件以及資料庫與交易記錄備份的複本。 若要保護不受災害影響 (例如火災或地震),則應該在與伺服器位置不同的位置中保存伺服器備份的複本。 此策略可保護您不會遺失重要的資料。 最佳做法是應該保存備份媒體的三個複本,並至少應該將其中一個複本保存在受控制環境的不同位置。

重要

定期執行評估資料還原,以驗證是否正確地備份檔案。評估還原會發現軟體驗證時沒有顯示的硬體問題。

備份及還原資料庫時,您必須將資料備份至媒體 (例如磁帶或磁碟)。 您的備份計劃應該包括可管理媒體的提供事項,例如下列方法:

  • 用來存放及回收處理備份集的追蹤與管理計劃。

  • 用來覆寫備份媒體的排程。

  • 在多伺服器環境中,決定使用集中式或分散式備份。

  • 追蹤媒體可用期限的方法。

  • 將遺失備份集或備份媒體 (例如磁帶) 的影響降至最低的程序。

  • 決定要在本地或異地存放備份集,以及分析此決定對復原時間的影響。

因為 Team Foundation 的資料是存放在 SQL Server 資料庫中,所以您不需要備份已安裝 Team Foundation 用戶端的電腦。 如果這些電腦發生媒體故障或損毀,則可以重新安裝用戶端軟體,並重新連接至伺服器。 透過重新安裝用戶端軟體,您的使用者就會有更清楚和更可靠的替代方法,從備份中還原用戶端電腦。

使用 SQL Server 中的維護計劃來備份與 Team Foundation 部署相關的資料庫,即可備份伺服器。 Team Foundation Server 資料庫彼此之間會緊密合作,而且您應該同時備份及還原它們。 如需備份資料庫策略的詳細資訊,請參閱 Microsoft 網站上的下列網頁:SQL Server 中的備份和還原策略簡介

ms253151.collapse_all(zh-tw,VS.110).gif備份類型

完整資料備份 (資料庫):若要讓您的部署具有可復原性,則需要完整的資料庫備份。 完整備份包括一部分交易記錄,如此才能復原完整備份。 完整備份是獨立的 (Self-Contained),因此它們代表在您進行備份時存在的整個資料庫。 如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:完整資料庫備份

差異資料備份 (資料庫):差異資料庫備份只會記錄前次完整資料庫備份 (稱為差異基底) 之後變更的資料。 差異資料庫備份比完整資料庫備份還要小,而且速度也比較快。 此選項可節省備份時間,但會增加複雜度。 針對大型資料庫,差異備份的發生間隔比資料庫備份還要短,因而減少工作遺失的可能。 如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:差異資料庫備份

您也應該定期備份交易記錄。 如果您使用完整資料庫備份模型,則在復原資料時需要這些備份。 如果您備份交易記錄,則可以在故障點或另一個特定時間點復原資料庫。

異動記錄檔備份:除了執行各項修改的異動以外,異動記錄檔也是資料庫中所發生之所有修改的連續記錄。 交易記錄會記錄每個交易的開始、資料的變更,必要時也會記錄足夠的資訊來復原該交易期間所進行的修改。 資料庫中發生可記錄的作業時,記錄檔就會持續擴充。

備份交易記錄,就可以將資料庫復原至較早的時間點。 例如,您可以將資料庫還原至輸入不需要的資料之前,或是還原至故障點。 除了資料庫備份以外,異動記錄檔備份也必須是還原策略的一部分。 如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:使用交易記錄備份

異動記錄檔備份使用的資源通常會比完整備份少。 因此,比起完整備份,您可以更經常建立交易記錄備份,因而降低遺失資料的風險。 不過,有時候異動記錄檔備份會比完整備份還大。 例如,資料庫可能具有高交易率,因而使交易記錄快速擴充。 在這種情況下,您應該更頻繁地建立交易記錄備份。 如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:寫滿交易記錄疑難排解

您可以執行下列類型的交易記錄備份:

  • 純記錄檔備份只包含間隔的異動記錄檔記錄,而不含任何大量變更。

  • 大量記錄檔備份包含大量作業所變更的記錄檔和資料頁。 不允許時間點復原。

  • 尾端記錄檔備份則是在可能損毀的資料庫上執行,以擷取尚未備份的記錄檔記錄。 會在發生故障之後進行結尾記錄備份,防止工作遺失並可包含純記錄檔或大量記錄檔資料。

因為資料同步處理對於成功還原 Team Foundation Server 非常關鍵,所以您應該使用標示的交易當做備份策略的一部分。 如需詳細資訊,請參閱Back Up Team Foundation Server

備份服務 (應用程式層)

您必須針對邏輯應用程式層執行的唯一備份就是備份 Reporting Services 的加密金鑰。 您可能會假設您必須備份做為 Team 專案入口網站的網站。 如果您將 SharePoint 產品整合為 Team Foundation Server 部署的一部分,則會在備份 Team Foundation Server 和 SharePoint 產品資料庫期間備份入口網站。 不過,如果您指定的網站不是使用整合 Web 應用程式所建立,則必須手動備份和還原那些網站。 此外,如果您對 SharePoint 產品或服務進行任何自訂,則也必須備份或記錄它們,以在新伺服器上予以重新產生。

雖然備份應用程式層比備份資料層還要簡單,但是您在還原應用程式層時必須執行許多步驟。 您必須安裝 Team Foundation 的另一個應用程式層,將 Team 專案集合重新導向為使用新的應用程式層,並重新導向 Team 專案的入口網站。

預設資料庫名稱

如果您沒有自訂資料庫的名稱,則可以使用下表來識別您的 Team Foundation Server 部署中所使用的資料庫。 如前所述,並非所有部署都會有這些所有的資料庫。 例如,如果您未使用 Reporting Services 設定 Team Foundation Server,就不會有 ReportServer 或 ReportServerTempDB 資料庫。 同樣地,如果您未設定 Team Foundation Server 來支援 Lab Management,就無法擁有 System Center Virtual Machine Manager (SCVMM) 所適用的資料庫 (其名稱為 VirtualManagerDB)。 此外,Team Foundation Server 使用的資料庫可能會散發至多個 SQL Server 執行個體或散發至多部伺服器。

注意事項注意事項

根據預設,前置詞 TFS_ 會加入至當您安裝 Team Foundation Server 或是當它運作時,所自動建立的任何資料庫名稱中。

資料庫

描述

TFS_Configuration

Team Foundation Server 的組態資料庫包含部署的目錄、伺服器名稱和組態資料。 此資料庫的名稱在 TFS_Configuration 之間可能包括其他字元 (例如安裝 Team Foundation Server 之人員的使用者名稱)。 例如,資料庫名稱可能是 TFS_UserNameConfiguration。

TFS_Warehouse

倉儲資料庫包含的資料可用來建置 Reporting Services 所使用的倉儲。 此資料庫的名稱在 TFS_Warehouse 之間可能包括其他字元 (例如安裝 Team Foundation Server 之人員的使用者名稱)。 例如,資料庫名稱可能是 TFS_UserNameWarehouse。

TFS_CollectionName

Team 專案集合的資料庫包含該集合中 Team 專案的所有資料。 此資料包括原始程式碼、組建組態和 Lab Management 組態。 集合資料庫的數目將會等於集合的數目。 例如,如果您的部署中有三個集合,您必須備份三個集合資料庫。 每個資料庫的名稱在 TFS_ 與 CollectionName 之間可能包括其他字元 (例如建立集合之人員的使用者名稱)。 例如,集合資料庫名稱可能是 TFS_UserNameCollectionName。

TFS_Analysis

SQL Server Analysis Services 資料庫包含您 Team Foundation Server 部署的資料來源和 Cube。 此資料庫的名稱在 TFS_Analysis 之間可能包括其他字元 (例如安裝 Analysis Services 之人員的使用者名稱)。 例如,資料庫名稱可能是 TFS_UserNameAnalysis。

注意事項注意事項
您可以備份此資料庫,但是必須從已還原的 TFS_Warehouse 資料庫重建倉儲。

ReportServer

Reporting Services 資料庫包含您 Team Foundation Server 部署的報表和報表設定。

注意事項注意事項
如果 Reporting Services 安裝在與 Team Foundation Server 不同的伺服器上,則此資料庫可能不存在於 Team Foundation 的資料層伺服器上。在這種情況下,您必須個別從 Team Foundation Server 設定、備份並還原它。不過,您應該同步維護資料庫,以避免發生同步處理錯誤。

ReportServerTempDB

Reporting Services 的暫存資料庫會暫時存放執行特定報表時的資訊。

注意事項注意事項
如果 Reporting Services 安裝在與 Team Foundation Server 不同的伺服器上,則此資料庫可能不存在於 Team Foundation 的資料層伺服器上。在這種情況下,您必須個別從 Team Foundation Server 設定、備份並還原它。不過,您應該同步維護資料庫,以避免發生同步處理錯誤。

WSS_Config

SharePoint 產品的組態資料庫包含所有網站的清單 (例如內容資料庫、網站範本、自訂 Web 組件,以及 SharePoint 管理中心的其他設定)。

注意事項注意事項
備份或還原 SharePoint 產品 使用的資料庫時,您不應該使用有標記的異動。不過,為了避免發生同步處理錯誤,您應該嘗試同步處理 SharePoint 產品 和 Team Foundation Server 的備份與還原排程。如需詳細資訊,請參閱建立 SharePoint Foundation 2010 的備份計劃

WSS_Content

SharePoint 產品的內容資料庫包含 Team 專案入口網站的實際內容。

注意事項注意事項
此資料庫的名稱會根據安裝的 SharePoint 產品版本以及安裝人員是否自訂該名稱而有所不同。備份或還原 SharePoint 產品 使用的資料庫時,您不應該使用有標記的異動。不過,為了避免發生同步處理錯誤,您應該嘗試同步處理 SharePoint 產品 和 Team Foundation Server 的備份與還原排程。如需詳細資訊,請參閱建立 SharePoint Foundation 2010 的備份計劃

WSS_AdminContent

SharePoint 產品的系統管理資料庫包含使用者、角色和資料庫的安全性資訊。

注意事項注意事項
備份或還原 SharePoint 產品 使用的資料庫時,您不應該使用有標記的異動。不過,為了避免發生同步處理錯誤,您應該嘗試同步處理 SharePoint 產品 和 Team Foundation Server 的備份與還原排程。如需詳細資訊,請參閱建立 SharePoint Foundation 2010 的備份計劃

VirtualManagerDB

SCVMM 的管理資料庫包含您在 SCVMM 系統管理員主控台中所檢視的資訊,例如虛擬機器、虛擬機器主機、虛擬機器程式庫伺服器以及其屬性。

注意事項注意事項
如果 SCVMM 安裝在與 Team Foundation Server 不同的伺服器上,則這個資料庫可能不會存在於 Team Foundation 的資料層伺服器上。在這種情況下,您必須個別從 Team Foundation Server 設定、備份並還原它。不過,您應該使用標示的交易並同步維護資料庫,以避免發生同步處理錯誤。

請參閱

概念

備份和還原您的部署

其他資源

將單一伺服器部署還原至新硬體 [教學課程]