共用方式為


在 Azure Stack Hub 上復原 App Service

本文提供 App Service 災害復原採取哪些動作的指示。

必須採取下列動作,才能從備份復原 Azure Stack Hub 上的 App Service:

  1. 還原 App Service 資料庫。
  2. 還原檔案伺服器共享內容。
  3. 還原 App Service 角色和服務。

如果 Azure Stack Hub 記憶體用於函式應用程式記憶體,您也必須採取步驟來還原函式應用程式。

還原 App Service 資料庫

App Service SQL Server 資料庫應該在生產就緒的 SQL Server 實例上還原。

準備 SQL Server 實例 以裝載 App Service 資料庫之後,請使用下列步驟從備份還原資料庫:

  1. 使用系統管理員許可權登入將裝載已復原 App Service 資料庫的 SQL Server。

  2. 使用下列命令,從以系統管理員許可權執行的命令提示字元還原 App Service 資料庫:

    sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_hosting FROM DISK='<full path to backup>' WITH REPLACE"
    sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_metering FROM DISK='<full path to backup>' WITH REPLACE"
    
  3. 確認已成功還原這兩個 App Service 資料庫,然後結束 SQL Server Management Studio。

注意

若要從故障轉移叢集實例失敗中復原,請參閱 從故障轉移叢集實例失敗復原。

還原 App Service 檔案共享內容

準備 文件伺服器 以裝載 App Service 檔案共享之後,您必須從備份還原租使用者檔案共享內容。 您可以使用任何可用的方法,將檔案複製到新建立的 App Service 檔案共用位置。 檔案伺服器上的這個範例會使用 PowerShell 和 Robocopy 連線到遠端共用,並將檔案複製到共用:

$source = "<remote backup storage share location>"
$destination = "<local file share location>"
net use $source /user:<account to use to connect to the remote share in the format of domain\username> *
robocopy /E $source $destination
net use $source /delete

除了複製檔案共享內容之外,您也必須重設檔案共用本身的許可權。 若要重設許可權,請在文件伺服器計算機上開啟系統管理員層級命令提示字元,然後執行 ReACL.cmd 檔案。 ReACL.cmd檔案位於 BCDR 目錄中的 App Service 安裝檔案中。

還原 App Service 角色和服務

還原 App Service 資料庫和檔案共享內容之後,您必須使用 PowerShell 來還原 App Service 角色和服務。 下列步驟會還原 App Service 秘密和服務組態:

  1. 使用您在 App Service 安裝期間提供的密碼,以 roleadmin 身分登入 App Service 控制器 CN0-VM VM。

    提示

    您必須修改 VM 的網路安全組,以允許 RDP 連線。

  2. SystemSecrets.JSON 檔案複製到控制器 VM 本機。 在下一個步驟中,提供此檔案的路徑做為 $pathToExportedSecretFile 參數。

  3. 在提升許可權的 PowerShell 控制台視窗中使用下列命令來還原 App Service 角色和服務:

    # Stop App Service services on the primary controller VM.
    net stop WebFarmService
    net stop ResourceMetering
    net stop HostingVssService # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release.
    
    # Restore App Service secrets. Provide the path to the App Service secrets file copied from backup; for example, C:\temp\SystemSecrets.json.
    # Press ENTER when prompted to reconfigure App Service from backup.
    
    # If necessary, use -OverrideDatabaseServer <restored server> with Restore-AppServiceStamp when the restored database server has a different address than backed-up deployment.
    # If necessary, use -OverrideContentShare <restored file share path> with Restore-AppServiceStamp when the restored file share has a different path from backed-up deployment.
    Restore-AppServiceStamp -FilePath $pathToExportedSecretFile 
    
    # Restore App Service roles.
    Restore-AppServiceRoles
    
    # Restart App Service services.
    net start WebFarmService
    net start ResourceMetering
    net start HostingVssService  # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release.
    
    # After App Service successfully restarts, and at least one management server is in the ready state, synchronize App Service objects to complete the restore.
    # Enter Y when prompted to get all sites and again for all ServerFarm entities.
    Get-AppServiceSite | Sync-AppServiceObject
    Get-AppServiceServerFarm | Sync-AppServiceObject
    

提示

強烈建議您在命令完成時關閉此 PowerShell 工作階段。

還原函式應用程式

App Service for Azure Stack Hub 不支援還原租用戶使用者應用程式或檔案共享內容以外的數據。 所有其他數據都必須在App Service備份和還原作業之外進行備份和復原。 如果 Azure Stack Hub 記憶體用於 Function Apps 記憶體,則應該採取下列步驟來復原遺失的數據:

  1. 建立函式應用程式要使用的新記憶體帳戶。 此記憶體可以是 Azure Stack Hub 記憶體、Azure 記憶體或任何相容的記憶體。
  2. 擷取記憶體的 連接字串。
  3. 開啟函式入口網站並流覽至函式應用程式。
  4. 流覽至 [ 平臺功能] 索引標籤,然後選取 [ 應用程式設定]。
  5. 將 AzureWebJobsDashboardAzureWebJobsStorage 變更為新的 連接字串,然後選取 [儲存]。
  6. 切換至 [ 概觀]。
  7. 重新啟動應用程式。 可能需要數次嘗試清除所有錯誤。

下一步

Azure Stack Hub 上的 App Service 概觀