從儲存在 Microsoft Azure 的備份還原

適用於:SQL Server

本主題概要說明使用儲存在 Azure Blob 儲存體中的備份來還原資料庫時,所應注意的事項。 這適用於使用「SQL Server 備份至 URL 備份」或「SQL Server 受控備份至 Microsoft Azure」建立的備份。

如果您預計要還原儲存在 Azure Blob 儲存體中的備份,建議您檢閱本主題,然後再檢閱說明如何還原資料庫的步驟 (此程序對於內部部署和 Azure 備份是相同的)。

概觀

從內部部署備份還原資料庫所使用的工具和方法,適用於從雲端備份還原資料庫。 下列小節描述這些考量,以及當您使用儲存在 Azure Blob 儲存體中的備份時,應了解的任何差異。

使用 TRANSACT-SQL

  • 因為 SQL Server 必須連接至外部來源以擷取備份檔案,所以會使用 SQL 認證來驗證儲存體帳戶。 因此,RESTORE 陳述式需要 WITH CREDENTIAL 選項。 如需詳細資訊,請參閱使用 Microsoft Azure Blob 儲存體備份及還原 的SQL Server

  • 如果您是使用 SQL Server 受控備份至 Microsoft Azure 管理雲端的備份,您可以使用 smart_admin.fn_available_backups 系統函數來檢閱儲存體中的所有可用備份。 此系統函數會以資料表傳回資料庫的所有可用備份。 由於結果是以資料表傳回,因此您可以篩選或排序結果。 如需詳細資訊,請參閱 managed_backup.fn_available_backups (Transact-SQL)

使用 SQL Server Management Studio

  • 此還原工作使用 SQL Server Management Studio 來還原資料庫。 備份媒體分頁現在包含 [URL] 選項,以顯示儲存在 Azure Blob 儲存體中的備份檔案。 您也必須提供用來驗證儲存體帳戶的 SQL 認證。 [要還原的備份組] 方格接著會填入 Azure Blob 儲存體中的可用備份。 如需詳細資訊,請參閱使用 SQL Server Management Studio 從 Azure 儲存體還原

最佳化還原

若要減少還原寫入時間,請將 [執行磁碟區維護工作] 使用者權限加入至 SQL Server 使用者帳戶。 如需詳細資訊,請參閱 資料庫檔案初始化。 如果開啟立即檔案初始化功能之後,還原速度仍然很慢,請查看資料庫備份所在之執行個體上的記錄檔大小。 如果記錄檔大小很大 (數以 GB),還原速度應該就會很慢。 在還原期間,記錄檔必須歸零,因此需要大量時間。 資料庫交易記錄檔的初始還原無法受益於檔案立即初始化。

若要減少還原時間,建議您使用壓縮的備份。 如果備份大小超過 25 GB,請使用 AzCopy 公用程式 下載到本機磁碟機,然後執行還原。 如需其他備份最佳做法與建議,請參閱 SQL Server 備份至 URL 的最佳做法和疑難排解

在 SQL Server 2016 (13.x) 和更新版本中,使用區塊 Blob 作為Microsoft Azure備份到URL的首選。

  • 如果您使用分頁 Blob,則當您執行還原時,可開啟追蹤旗標 3051 來產生詳細的記錄。 此記錄檔位於記錄目錄中,且使用下列格式命名:BackupToUrl-\<instancename>-\<dbname>-action-\<PID>.log。 此記錄檔包含對 Azure 儲存體之每個來回行程的相關資訊 (包括時間點),有助於診斷問題。

關於執行還原作業的主題