還原資料庫
本主題 -「還原單一伺服器」教學課程的第二個部分教導如何使用原始伺服器的備份,來還原新伺服器的資料庫和 SharePoint 陣列。然後新的伺服器準備好,可以在伺服器上設定 Team Foundation Server (TFS)。
您可以使用您所做的原始部署還原從該部署的資料到新的伺服器。當還原資料時,請確定所有的資料庫和SharePoint伺服器陣列還原至相同的時間點。如果您當時遵循 建立備份排程和計劃的指引,在 TFS 資料庫標示的異動與 TFS 和 SharePoint Foundation 2010 的同步處理排程備份,可確保所有資料都已還原到相同的時間,因此,減少發生資料衝突的機會。
重要事項 |
---|
如果原始部署使用 SQL Server 的 Enterprise 或 Datacenter Edition,但您想要將資料庫還原到執行 Standard Edition 的伺服器,則必須使用以停用 SQL Server 壓縮方式所建立的備份。除非您停用資料壓縮,否則無法順利將 Enterprise 或 Datacenter Edition 資料庫還原到執行 Standard Edition 的伺服器。若要關閉壓縮,請依照 Microsoft 知識庫文件中的步驟進行。 |
在還原資料庫之後,您必須使用命令列工具,將其設定為與 TFS 搭配使用。
提示 |
---|
Team Foundation Server 2012 有適用的備份與還原強大工具。使用這個工具可以大幅簡化維護和還原部署的工作。如果您使用了強大工具來備份資料,則應該使用工具的還原部分還原資料庫,並略過本主題的這個部分。您可以在這裡找到強大工具的最新版本。 |
在教學課程主題中的範例遵照Jill Frank, 虛構公司Fabrikam Fiber的IT系統管理員,因為她復原如同從準備到執行單一伺服器安裝 [教學課程]中所描述的原始部署的硬體故障。若對教學課程及其中描述的架構熟悉,這樣可協助您遵循本教學課程中的程序。
本主題內容
還原 Team Foundation Server 資料庫
還原 SharePoint 陣列
準備好 Team Foundation Server 的資料庫
必要的使用權限
若要執行這個程序,您必須是下列群組的成員或擁有下列使用權限:
伺服器上的 [Administrators] 安全性群組成員
[SQL Server 系統管理員] 安全性群組成員,或是 [SQL Server 執行備份及建立維護計畫] 權限必須設為 [允許]。
Team Foundation 資料庫的 [sysadmin] 安全性群組成員。
[Farm Administrators] 群組的成員。
還原 Team Foundation Server 資料庫
安裝和設定的軟體不足以還原部署。在使用者可以工作之前,您必須將資料庫還原。您可以使用 SQL Server 提供的工具來復原 Team Foundation Server 的資料。SQL Server Management Studio 會協助您使用同一組備份來還原 TFS 使用的所有資料庫。您可以套用完整和累加備份,以及異動記錄備份,在新的部署。
注意事項 |
---|
這個程序特別為 SQL Server 的 TFS 資料庫而設計的。如需如何在 SQL Server 2008 R2 中還原資料庫以及其他還原方法的詳細資訊,請參閱 Microsoft 網站上的下列網頁:實作 SQL Server 資料庫的還原實例。 |
若要開啟還原資料庫對話方塊
依序選擇 [開始]、[所有程式]、[Microsoft SQL Server 2008],然後按一下 [SQL Server Management Studio]。
[連接至伺服器] 對話方塊隨即開啟。
在 [伺服器類型] 清單中,選擇 [資料庫引擎]。
在 [伺服器名稱],請指定伺服器名稱,然後選取 [連接]。
注意事項 在部署的範例中,Jill 指定 FABRIKAMPRIME 做為伺服器的名稱。她使用了預設的執行個體,因此她沒有指定執行個體名稱。
[SQL Server Management Studio] 隨即開啟。
展開 [Databases] 節點。
對 Team Foundation Server 用於部署的每個資料庫來完成下一個程序「還原資料庫」。在部署的範例中, Jill 還原下列資料庫:
TFS_Warehouse
TFS_DefaultCollection
這是此集合資料庫的預設名稱。如果您自訂了該名稱,請確定使用該名稱。
TFS_Configuration
ReportServer
ReportServerTempDB
若要還原資料庫
在 [物件總管] 中,反白顯示 [資料庫],開啟子功能表,然後選取 [還原資料庫]。
[還原資料庫] 對話方塊隨即開啟。
在 [到資料庫] 中指定您要還原的資料庫名稱,例如:TFS Configuration。選擇 [還原的來源] 底下的 [來源裝置],然後選擇省略符號 (…) 按鈕。
在 [指定備份] 對話方塊中,選擇 [加入]。對要還原的資料庫指定備份檔案的位置,然後選取兩次 [確定] 。
您必須先還原完整備份,然後還原差異備份,接著還原交易記錄備份,按照當初建立的順序還原。
在 [選取要還原的備份集] 下,選取要還原的備份集核取方塊。
如果您以標示的交易建立備份組,請務必還原完整、差異和交易記錄資料庫。
在 [選取頁面] 窗格中,選擇 [選項],然後選取 [覆寫現有的資料庫] 核取方塊。
在 [將資料庫檔案還原為] 清單中,確認路徑與您目前的資料庫路徑相符。
在 [復原狀態] 在下, 選取 [離開] 非操作的資料庫並且不要復原未認可異動。無法還原其他異動記錄。(RESTORE WITH RECOVERY),然後選擇 [確定]。
進度圖示隨即出現。
當 [SQL Server Management Studio] 對話方塊出現並確認還原成功時,選擇 [確定] 回到 [物件總管]。
開啟剛還原資料庫的捷徑功能表,然後選取 [工作]、 [重新啟動] ,再選擇 [異動記錄]。
[還原交易記錄] 視窗隨即開啟。
在 [一般] 頁面上,請確定在 [資料庫] 清單中反白顯示適當的資料庫。
在 [選取要還原的交易記錄備份] 底下,選取您要還原之記錄旁邊的核取方塊。
選擇 [還原至] 底下的 [標示的異動]。
[選取標示的交易] 視窗隨即開啟。
在 [選取標示的異動作為停止還原的位置] 清單中,選取您要用來進行還原作業之異動標示旁邊的核取方塊,然後選擇 [確定]。
重要事項 您必須使用在所有資料庫上具有相同日期和時間的相同交易標示,才能順利還原資料。
在 [還原異動記錄] 視窗中,選擇 [確定]。
進度圖示隨即出現。
當 [SQL Server Management Studio] 對話方塊出現並確認還原成功時,請選擇 [確定]。
如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:套用交易記錄備份。
當您已還原所有資料庫之後,必須還原報告資料庫的加密金鑰。
若要還原 Reporting Services 的加密金鑰。
依序 [開始], [所有程式]、[Microsoft SQL Server R2] 和 [組態工具],然後選擇 [Reporting Services 組態管理員]。
在 [Reporting Services 設定連接],請指定伺服器名稱,然後選取 [連接]。
在部署的範例,在 [伺服器名稱。]中, Jill 在 [伺服器名稱] 中輸入 FABRIKAMPRIME。由於她使用了預設的執行個體,則不需要從預設 MSSQLSERVE 變更執行個體名稱。
在 [連接] 窗格中,選取 [金鑰],然後在 [金鑰] 窗格中,選取 [還原]。
[還原加密金鑰] 視窗隨即開啟。
在 [檔案位置],請指定加密金鑰的備份檔案位置。在 [密碼] 中,指定備份加密金鑰時所使用的程式碼,然後選取 [確定]。
還原狀態會出現在 結果中。當 [結果] 區域顯示加密金鑰已還原時,請關閉 Reporting Services 組態管理員。
還原 SharePoint 陣列
不同於 Team Foundation Server 資料庫,您無法使用 SQL Server Management Studio 工具還原您的伺服器陣列。您必須使用 Windows PowerShell 的 Restore-SPFarm 命令還原您執行 SharePoint 伺服器陣列的備份。在某些情況下,您可以選擇使用管理中心網站,來還原陣列而不是還原SPFarm,不過,PowerShell 命令是還原陣列的慣用方法。
若要還原陣列,則您登入帳戶必須是 Farm Administrators 群組的成員帳戶,或者您必須是該群組的成員並提供提示字元中的帳戶認證。
若要使用 Restore-SPFarm,還原 SharePoint Foundation 2010 的陣列
開啟 Windows PowerShell 或 SharePoint 2010 管理 Shell。
在 Windows PowerShell 命令提示字元中,輸入下列命令,其中 UNCPath 是一個陣列備份所在的目錄之完整 UNC 路徑:
Restore-SPFarm –Directory UNCPath –RestoreMethod Overwrite
這個命令會使用可用且最新的備份來還原陣列。如果您要使用差異備份,您必須指定要還原哪一個備份,方式是使用具有特定備份的 GUID 及 –BackupID 參數。
在 Windows PowerShell 命令提示字元中,輸入下列命令, ServiceApplicationID 是還原陣列的 GUID:
Start-SPServiceInstance –Identity ServiceApplicationID
提示 如果您不知道 GUID,您可以使用 取得 SPServiceInstance 命令去列出伺服器上所有 SharePoint 應用程式的服務執行個體 GUID。
如需備份和還原陣列的詳細資訊,請參閱 還原伺服陣列(SharePoint Server 2010) 和 還原 SPFarm。
若要使用 SharePoint 管理中心,還原陣列
開啟 SharePoint 管理中心,然後在 [首頁] 頁面的 [備份和還原] 區段中,選取 [從備份還原]。
[還原精靈] 隨即開啟。
在 [從備份還原–步驟 3 之 1] 頁面上,選取您要還原的陣列備份工作,然後選取 [下一步]。
在 [從備份還原–步驟 3 之 2] 頁面,請在陣列選取旁邊的核取方塊,然後選取 [下一步]。
在 [從備份還原 – 步驟 3 之 3] 頁面的 [還原元件] 中,請確定 [陣列] 出現在 [還原下列元件] 清單。在 [只還原組態設定] 區段中,選取 [還原內容和組態設定]。在 [還原選項] 區段中,將 [還原的型別]底下,選取 [相同組態]。在對話方塊要求您確認您的選擇時,選取 [確定],然後選取 [啟動還原]。
監視復原的一般狀況,它會出現 [備份和還原工作狀態] 頁面的 [整備] 部分。狀態每 30 秒會自動更新。您也可以選取功能表上的 [重新整理]手動更新狀態。
當還原完成後,將回管理中心的 [首頁] 頁面。在 [應用程式管理],選取 [管理伺服器上的服務]。
在 [伺服器上的服務] 頁面,請尋找還原陣列的服務應用程式,然後在 [動作] 資料行中,選取每個服務應用程式的 [啟動] 。
如需備份和還原陣列的詳細資訊,請參閱 還原伺服陣列(SharePoint Server 2010)。
準備好 Team Foundation Server 的資料庫
在已還原的資料庫正確運作之前,您必須使用命令 TFSConfig RemapDBs ,來將 TFS 組態資料庫重新對應至 SQL Server 的新執行個體。您也必須使用 TFSConfig Accounts ResetOwner 命令,將已還原資料庫的資料庫擁有者登入變更為目前使用者。最後,您必須使用命令 TFSConfig Accounts 來重新整理資料庫的服務帳戶資訊,即使您將繼續使用和上一個伺服器相同的服務帳戶。
如果有可能,請確定執行命令時您使用的帳戶是跟您在原始伺服器上安裝 Team Foundation Server 時使用的帳戶是相同的。至少,要還原備份時,在原始伺服器的中必須使用的帳戶,它必須曾是 Team Foundation Server的 [Team Foundation Administrators] 群組的成員及 SQL Server 的 sysadmin 群組的成員。
由於 Jill 在原始伺服器上使用了她的帳戶來安裝和設定 Team Foundation Server ,並在新的伺服器保留了 sysadmin 和 Team Foundation Administrators 群組的成員,她就可以依然使用自己帳戶來登入,並可以執行下列命令。不過,她會需要以系統管理員身分去執行命令提示字元,才能成功地完成命令列程序。
若要重新對應至:資料庫
以系統管理員身分執行並開啟命令提示字元視窗,然後將目錄變更到 Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。
輸入下列命令,其中 DatabaseName 是組態資料庫的名稱,包括裝載資料庫的伺服器和 SQL Server 執行個體名稱,格式為 ServerName 或 ServerName\InstanceName,而 InstanceName 是 SQL Server 執行個體名稱:
**TFSConfig RemapDBs /databaseName:**DatabaseName **/sqlInstances:**InstanceName
在部署的範例中, Jill 將所有 Team Foundation Server 的資料庫都還原到同一部伺服器,因此,則只需要執行這個命令一次即可。由於她使用了預設的執行個體,則不需要指定執行個體名稱,只指定伺服器名稱即可。她在命令列上輸入 TFSConfig RemapDBs /databaseName:FabrikamPrime;TFS_Configuration /sqlInstances:FabrikamPrime 。
若要將已還原資料庫的擁有權變更為目前使用者
在命令指示下,輸入下列命令,其中 ServerName 是裝載 Team Foundation Server 組態資料庫的 SQL Server 執行個體名稱,而 DatabaseName 則是還原的組態資料庫名稱。
**TFSConfig Accounts /ResetOwner /SQLInstance:**ServerName **/DatabaseName:**DatabaseName
在部署的範例中,Jill 輸入以下命令: TFSConfig Accounts /ResetOwner /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration
此命令列會變更 Team Foundation Server 使用之所有資料庫的擁有權。
若要更新服務帳戶
在命令提示字元中,輸入下列命令來更新 Team Foundation Server 的服務帳戶,其中 DatabaseName 是組態資料庫的名稱 (預設是 TFS_Configuration):
**TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName
在部署的範例中, Jill 輸入以下命令:TFSConfig Accounts /add /AccountType:ApplicationTier /account:"Network Service" /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration
在命令提示字元中輸入下列命令,即可更新資料來源帳戶:
**TfsConfig Accounts /add /AccountType:ReportingDataSource /account:AccountName/SQLInstance:**ServerName **/DatabaseName:**DatabaseName
在部署的範例中, Jill 輸入以下命令:TFSConfig Accounts /add /AccountType:ReportingDataSource /account:SVCSPTRS /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration
如需詳細資訊,請參閱Accounts 命令。
首頁 | 準備新硬體 | 還原資料庫 | 安裝和設定 Team Foundation Server | 重新連接服務和使用者