在 SharePoint Server 中還原自訂

 

**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**上次修改主題的時間:**2017-09-13

**摘要:**了解如何將 SharePoint Server 2016 和 SharePoint 2013 所做的自訂還原。

您可以使用管理中心或 PowerShell 將所做的任何自訂還原至 SharePoint Server。所使用的還原工具會視已部署的環境類型、排程需求以及與組織所建立的服務等級協定而定。

本文內容:

  • 開始之前

  • 還原 SharePoint Server 中的方案套件

    • 使用管理中心還原信任的方案

    • 使用 Windows PowerShell 還原信任的方案

  • 還原沙箱方案

  • 還原 SharePoint 中已製作的網站元素

  • 還原 SharePoint 中的工作流程

  • 還原 SharePoint 中對 Web.config 檔案的變更

  • 還原 SharePoint 中尚未封裝為方案的已開發自訂

開始之前

開始這項作業之前,請先檢閱下列資訊:

  • 建議您保留原始 .wsp 檔案的備份,以及用來針對信任的方案和沙箱方案建立 .wsp 檔案的原始程式碼。

還原 SharePoint Server 中的解決方案套件

用以還原方案套件的方法,由部署為「信任的方案」或「沙箱方案」所決定。

「信任的方案」是由伺服器陣列管理員所部署的解決方案。其會部署至整個伺服器陣列,且可用於伺服器陣列中的所有網站。信任的方案儲存於設定資料庫中。使用 SharePoint Server 備份進行伺服器陣列備份時,信任的方案亦會進行備份,且會包含於僅有設定的備份中,同時也可單獨備份或備份為群組。還原階層中可看到這些信任的方案。

沙箱方案為網站集合管理員可以部署至單一網站集合的解決方案。沙箱方案儲存在與其部署所在之網站集合相關聯的內容資料庫中。沙箱方案包含在 SharePoint Server 伺服器陣列、Web 應用程式、內容資料庫及網站集合備份中,但在還原階層中看不到,且無法個別選取或還原。

使用 管理中心還原信任的方案

  1. 確認執行此程序的使用者帳戶為 SharePoint 伺服器陣列管理員群組的成員。

  2. 啟動 管理中心。

  3. 在管理中心首頁上,按一下 [備份與還原] 區段中的 [從備份還原]。

  4. 在 [從備份還原 - 步驟 3 之 1:選取要還原的備份] 頁面上,從備份清單中選取包含方案套件的備份工作,然後按 [下一步]。只要按一下備份旁的 (+),即可檢視每項備份的詳細資訊。

    注意

    若正確的備份工作未出現,請在 [備份目錄位置] 文字方塊中,輸入正確之備份資料夾的通用命名慣例 (UNC) 路徑,然後按一下 [重新整理]。

  5. 在 [從備份還原 - 步驟 3 之 2:選取要還原的元件] 頁面上,選取解決方案旁的核取方塊,然後按 [下一步]。

  6. 在 [從備份還原 - 步驟 3 之 3:選取還原選項] 頁面的 [還原元件] 區段中,確定 [解決方案] 出現在 [還原下列元件] 清單中。

    在 [僅還原組態設定] 區段中,確定已選取 [還原內容與組態設定] 選項。

    在 [還原選項] 區段的 [還原的類型] 下,選取 [相同的設定] 選項。對話方塊會隨即出現,請您確認該作業。按一下 [確定]。

    按一下 [開始還原]。

  7. 您可以在 [備份與還原工作狀態] 頁面上方的 [整備] 區段中,檢視所有復原工作的一般狀態。在同頁面底部的 [還原] 區段中,則可檢視目前復原工作的狀態。狀態頁面每 30 秒會自動更新。只要按一下 [重新整理],即可手動更新狀態詳細資料。備份與復原都是計時器服務工作。因此,數秒之後才會開始復原。

    如有收到錯誤,可以檢閱 [備份與還原工作狀態] 頁面的 [失敗訊息] 欄。您也可以在步驟 3 中所指定之 UNC 路徑下的 Sprestore.log 檔案中查看詳細資訊。

使用 PowerShell還原信任的方案

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 管理命令介面。

  3. 在 PowerShell 命令提示字元處,輸入下列命令:

    Restore-SPFarm -Directory <BackupFolder> -RestoreMethod Overwrite -BackupId <GUID> -Item <SolutionPath>
    

    其中:

    • <備份資料夾> 為您要還原之目錄的 UNC 位置。

    • <GUID> 為您要還原之備份識別碼的 GUID。若未指定備份,則會使用最近的備份。

    • <方案路徑> 為備份樹狀結構中的解決方案路徑 (一般為:伺服器陣列\解決方案\方案名稱).

如需詳細資訊,請參閱<Get-SPContentDatabase>。

注意

建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

還原沙箱方案

您不可僅還原部署為沙箱方案的自訂內容,而是必須還原伺服器陣列、Web 應用程式、內容資料庫或與自訂相關聯的網站集合。

還原 SharePoint Server 中已製作的網站元素

您無法僅還原製作的網站元素,而是必須還原伺服器陣列、Web 應用程式或與製作的網站元素相關聯之內容資料庫。

還原 SharePoint Server 中的工作流程

工作流程為您可還原之自訂的特殊案例。請確定備份與復原計劃中已包含下列任一適用於環境中的案例:

  • 宣告式工作流程 (例如在 SharePoint Designer 中建立的宣告式工作流程) 儲存在部署所在之網站集合的內容資料庫中。還原內容資料庫或網站集合時,會還原這些工作流程。

  • 自訂宣告式工作流程動作在下列三個位置包含元件:

    1. 動作的 Visual Studio 2013 組件會儲存在全域組件快取 (GAC) 中。

    2. XML 定義檔 (.actions 檔) 儲存在 16\TEMPLATE\<LCID>\Workflow 目錄中。

    3. 將動作標示為授權類型的 XML 項目儲存在使用項目之 Web 應用程式的 Web.config 檔案中。

    若伺服器陣列工作流程使用自訂動作,則應使用檔案還原系統來還原這些檔案以及 XML 項目。檔案復原後,您可視需要重新套用這些檔案。

  • 相依於自訂程式碼的工作流程,例如使用Visual Studio 2013 所建立的工作流程,會儲存於兩個位置。工作流程的Visual Studio 2013 組件儲存於 GAC 中,而 XML 定義檔則儲存於「功能」目錄中。這與 SharePoint Server 功能的其他類型相同,例如:網頁組件以及事件接收器。若工作流程已安裝為方案套件的一部分,則請遵循還原方案套件的指示進行。

  • 若您建立的自訂工作流程會與不是為部署工作流程所在的網站集合互動,則您必須還原這兩個網站集合才可復原工作流程。還原伺服器陣列已足以復原伺服器陣列中的所有網站集合,以及所有與網站集合相關聯的工作流程。

  • 未部署的工作流程必須使用檔案系統備份應用系統,進行個別還原。

還原 SharePoint Server 中對 Web.config 檔案的變更

您可以執行伺服器陣列或僅設定還原,復原使用管理中心或 SharePoint Server API 以及物件模型所進行的 Web.config 檔案變更。

您應使用檔案系統備份,保護不是由管理中心或 SharePoint API 及物件模型所進行的 Web.config 檔案變更。您可以使用檔案系統還原以復原備份。

還原 SharePoint Server 中尚未封裝為方案的已開發自訂

還原尚未封裝為解決方案的已開發自訂,可能會是很複雜的程序,這是因為自訂檔案位置尚未標準化。

請與開發小組或自訂廠商連絡,以決定自訂若是在其他位置時,是否涉及額外的增益集軟體或檔案。建議您使用檔案系統還原解決方案還原目錄。下表列出網頁伺服器上儲存自訂的常見位置。

位置 描述

%PROGRAMFILES%\Common files\Microsoft Shared\Web Server Extensions\16

經常更新的檔案、自訂組件、自訂範本、自訂網站定義

Inetpub

IIS 虛擬目錄的位置

%WINDIR%\Assembly

全域組件快取 (GAC):受保護的作業系統位置,該位置已安裝可提供完整系統存取的 Microsoft .NET Framework 程式碼組件

See also

備份 SharePoint Server 中的自訂
在 SharePoint Server 中還原伺服器陣列
在 SharePoint Server 中還原伺服器陣列設定
在 SharePoint Server 中還原 Web 應用程式
在 SharePoint Server 中還原內容資料庫
在 SharePoint Server 中還原網站集合