SQL Server Managed Backup 到 Azure
SQL Server受控備份至 Microsoft Azure,可管理和自動SQL Server備份至 Azure Blob 儲存體服務。 SQL Server受控備份至 Microsoft Azure 所使用的備份策略是以資料庫的保留期間和交易工作負載為基礎。 Microsoft Azure 的 SQL Server 受控備份支援指定保留期間的時間點還原。
SQL Server受控備份至 Microsoft Azure 可以在資料庫層級或實例層級啟用,以管理實例上SQL Server的所有資料庫。 SQL Server可以在內部部署或裝載的環境中執行,例如 Azure 虛擬機器。 建議針對在 Azure 虛擬機器 上執行的SQL Server,建議使用SQL Server受控備份至 Microsoft Azure。
使用SQL Server受控備份自動備份至 Microsoft Azure 的優點SQL Server備份
目前自動份分多個資料庫需要制定備份策略、撰寫自訂程式碼及排程備份。 使用 SQL Server受控備份至 Microsoft Azure,您只需要提供保留期間設定和儲存體位置。 SQL Server受控備份至 Microsoft Azure 排程、執行和維護備份。
SQL Server受控備份至 Microsoft Azure 可以在資料庫層級設定,或是在設定 SQL Server 實例的預設設定時進行設定。 使用 SQL Server受控備份至 Microsoft Azure 將備份自動化具有下列優點:
藉由在執行個體層級設定預設值,可以將這些設定套用到在此之後所建立的資料庫,以避免新資料庫未被備份及資料遺失的風險。
啟用SQL Server受控備份至 Microsoft Azure,並在資料庫層級設定保留期間的選項,可讓您覆寫實例層級所設定的預設設定。 這讓您對特定資料庫的復原能力有更細微的控制。
使用 SQL Server受控備份至 Microsoft Azure 時,您不需要指定資料庫的備份類型或頻率。 您可以指定保留期間,並將受控備份SQL Server至 Microsoft Azure 決定資料庫備份的類型和頻率會將備份儲存在 Azure Blob 儲存體服務上。 如需SQL Server受控備份至 Microsoft Azure 用來建立備份策略之準則集的詳細資訊,請參閱本主題中的元件和概念一節。
如有設定使用加密,等於再為備份資料提供額外的一層保護。 如需詳細資訊,請參閱 備份加密
如需使用 Azure Blob 儲存體進行SQL Server備份之優點的詳細資訊,請參閱使用 Azure Blob 儲存體 服務SQL Server備份和還原
詞彙和定義
SQL Server Managed Backup to Microsoft Azure
SQL Server 功能之一,可以自動備份資料庫備份並依據保留週期維護備份。
保留期間
SQL Server受控備份至 Microsoft Azure 使用保留期限,以判斷儲存體中應保留哪些備份檔案,以便將資料庫復原到指定時間範圍內的某個時間點。 支援的值是在 1-30 天的範圍內。
記錄鏈結
連續的記錄備份順序稱為記錄檔鏈結。 記錄鏈結以資料庫的完整備份開始。
需求、概念和元件
權限
Transact-SQL 是用來設定及監視SQL Server受控備份至 Microsoft Azure 的主要介面。 一般而言,若要執行設定預存 程式,db_backupoperator 具有 ALTER ANY CREDENTIAL 許可權的資料庫角色,以及 EXECUTE
需要sp_delete_backuphistory 預存程式的許可權。 用於檢閱資訊的預存程序及函數通常分別需要預存程序的 Execute
權限和函數的 Select
。
必要條件
必要條件:
SQL Server受控備份至 Microsoft Azure 來儲存備份檔案,會使用Azure 儲存體服務。 建立 Azure 儲存體帳戶的概念、結構和需求會在SQL Server備份至 URL主題的重要元件和概念一節中詳細說明。
SQL 認證 可用來儲存向 Azure 儲存體帳戶驗證所需的資訊。 SQL 認證物件儲存帳戶名稱和存取金鑰資訊。 如需詳細資訊,請參閱SQL Server備份至 URL主題中的主要元件和概念簡介一節。 如需如何建立 SQL 認證來儲存 Azure 儲存體驗證資訊的逐步解說,請參閱第 2 課:建立SQL Server認證。
概念和重要元件
SQL Server受控備份至 Microsoft Azure 是管理備份作業的功能。 它會將中繼資料儲存在 msdb 資料庫中,並使用系統作業來寫入完整資料庫和交易記錄備份。
元件
Transact-SQL 是與 Microsoft Azure 的 SQL Server 受控備份進行互動的主要介面。 系統會使用系統預存程序來啟用、設定和監視 Microsoft Azure 的 SQL Server 受控備份。 系統函數可用來擷取現有的組態設定、參數值和備份檔案資訊。 擴充事件可用來呈現錯誤和警告。 警示機制可透過 SQL Agent 作業和 SQL Server 原則式管理加以啟用。 以下是物件清單及其與 Microsoft Azure 的 SQL Server 受控備份相關的功能描述。
PowerShell Cmdlet 也可用來設定 Microsoft Azure 的 SQL Server 受控備份。 SQL Server Management Studio 可使用 [還原資料庫] 工作,還原 Microsoft Azure 的 SQL Server 受控備份所建立的備份
系統物件 | 描述 |
MSDB | 對於 Microsoft Azure 的 SQL Server 受控備份所建立的所有備份,儲存中繼資料、備份歷程記錄。 |
smart_admin.set_db_backup (Transact-SQL) | 啟用和設定 SQL Server資料庫的 Microsoft Azure 受控備份的系統預存程式。 |
smart_admin.set_instance_backup (Transact-SQL) | 啟用和設定預設設定的系統預存程式,SQL Server SQL Server 實例的 Microsoft Azure 受控備份。 |
smart_admin.sp_ backup_master_switch (Transact-SQL) | 暫停和繼續SQL Server受控備份至 Microsoft Azure 的系統預存程式。 |
smart_admin.sp_set_parameter (Transact-SQL) | 系統預存程式,可啟用和設定SQL Server受控備份至 Microsoft Azure 的監視。 例如:啟用擴充事件、通知的郵件設定。 |
smart_admin.sp_backup_on_demand (Transact-SQL) | 系統預存程式,用來對已啟用的資料庫執行臨機操作備份,該資料庫會使用 SQL Server受控備份至 Microsoft Azure,而不會中斷記錄鏈結。 |
smart_admin.fn_backup_db_config (Transact-SQL) | 系統函式,會將目前SQL Server受控備份傳回至資料庫的 Microsoft Azure 狀態和組態值,或針對實例上的所有資料庫。 |
smart_admin.fn_is_master_switch_on (Transact-SQL) | 傳回主切換狀態的系統函數。 |
smart_admin.sp_get_backup_diagnostics (Transact-SQL) | 用於傳回擴充事件記錄之事件的系統預存程序。 |
smart_admin.fn_get_parameter (Transact-SQL) | 傳回備份系統設定 (例如監視以及警示郵件設定) 之目前值的系統函數。 |
smart_admin.fn_available_backups (Transact-SQL) | 此預存程序可用於擷取指定資料庫或執行個體中所有資料庫的可用備份。 |
smart_admin.fn_get_current_xevent_settings (Transact-SQL) | 傳回目前擴充事件設定的系統函數。 |
smart_admin.fn_get_health_status (Transact-SQL) | 此系統函數可傳回擴充事件對指定期間所記錄的錯誤彙總計算。 |
監視 SQL Server Managed Backup 到 Azure | 用於監視的擴充事件、錯誤和警告的電子郵件通知、SQL Server以原則為基礎的管理,SQL Server受控備份至 Microsoft Azure。 |
備份策略
SQL Server受控備份至 Microsoft Azure 所使用的備份策略:
排程的備份類型以及備份頻率取決於資料庫的工作負載。 保留週期設定可用於指定備份檔案保留在儲存體中的時間,以及能否將資料庫復原至保留週期內的時間點。
備份容器和檔案命名慣例:
SQL Server Microsoft Azure 的受控備份會使用可用性資料庫以外的所有資料庫SQL Server實例名稱來命名 Azure 儲存體容器。 針對可用性資料庫,可用性群組 GUID 會用來命名 Azure 儲存體容器。
非可用性資料庫的備份檔案會使用下列慣例來命名:名稱是使用資料庫名稱的前 40 個字元、不含 '-' 的資料庫 GUID 和時間戳記來建立。 區段之間會插入底線字元做為分隔符號。 完整備份會使用副檔名 .bak ,記錄備份則會使用 .log 。 對於可用性群組資料庫而言,除了上面所述的檔案命名慣例以外,可用性群組資料庫 GUID 會加在資料庫名稱的 40 個字元之後。 可用性群組資料庫 GUID 值是 sys.databases 中的 group_database_id 值。
完整資料庫備份:如果下列任一項成立,SQL Server受控備份至 Microsoft Azure 代理程式會排程完整資料庫備份。
初次啟用時,或以在執行個體層級使用預設設定啟用 Microsoft Azure 的 SQL Server 受控備份時,資料庫是 Microsoft Azure 的 SQL Server 受控備份。
最後一次完整資料庫備份後,記錄成長已等於或大於 1 GB。
最後一次完整資料庫備份後,已經過一週的最大時間間隔。
記錄鏈結中斷。 Microsoft Azure 的 SQL Server 受控備份會藉由比較備份檔案的第一個和最後一個 LSN,定期檢查記錄鏈結是否保持完整。 如果記錄鏈結因故中斷,Microsoft Azure 的 SQL Server 受控備份就會排程完整資料庫備份。 記錄鏈結中斷的最常見原因可能是使用 Transact-SQL 發出的備份命令,或透過 SQL Server Management Studio 中的備份工作。 其他常見的情況包括備份記錄檔的意外刪除,或意外覆寫備份。
交易記錄備份:如果下列任一項成立,SQL Server受控備份至 Microsoft Azure 會排程記錄備份:
找不到記錄 (log) 備份記錄 (history)。 第一次啟用 Microsoft Azure 的 SQL Server 受控備份時,通常都是這種情況。
使用的交易記錄空間是 5 MB 或更大。
達到最後一次記錄備份後的 2 小時最大時間間隔。
交易紀錄備份一律會在完整資料庫備份之後執行。 其目的在保留完整備份之前的記錄檔鏈結。
保留週期設定
啟用備份時,您必須設定保留期間,以天為單位:最少是 1 天,最多是 30 天。
Microsoft Azure 的 SQL Server 受控備份會根據保留週期設定,評估能否在指定的時間內,復原到某個時間點,從而決定所要保留的備份檔案,以及指定所要刪除的備份檔案。 備份的 backup_finish_date 會用於指定及比對保留週期設定所指定的時間。
重要考量因素
請務必瞭解對 Microsoft Azure SQL Server 受控備份作業的影響。 如下:
當資料庫正在執行完整的資料庫備份作業時,Microsoft Azure 的 SQL Server 受控備份會等待目前作業完成,然後再為相同的資料庫執行另一個完整的資料庫備份。 同樣地,在指定的時間內,只可執行一個交易記錄備份。 不過,完整資料庫備份與交易記錄備份可以同時執行。 失敗會記錄為擴充事件。
如果排程超過 10 個並行完整資料庫備份,會透過擴充事件的偵錯通道發出警告。 Microsoft Azure 的 SQL Server 受控備份會維護其優先順序佇列,直到所有的備份均已排程並完成為止。
支援限制
以下是 SQL Server 2014 特定的一些限制:
SQL Server受控備份至 Microsoft Azure 代理程式僅支援資料庫備份:完整備份和記錄備份。 不支援檔案備份自動化。
SQL Server目前使用 Transact-SQL 支援對 Microsoft Azure 的受控備份作業。 使用擴充事件可完成監視和疑難排解。 PowerShell 和 SMO 支援只可用於設定 SQL Server 執行個體的儲存體和保留週期預設設定,以及依照 SQL Server 原則式管理原則監視備份狀態和整體健康狀況。
不支援系統資料庫。
Azure Blob 儲存體服務是唯一支援的備份儲存體選項。 不支援備份至磁碟或磁帶。
目前,Azure 儲存體中分頁 Blob 允許的檔案大小上限為 1 TB。 大於 1 TB 的備份檔案將會失敗。 為避免這種情況,我們建議針對大型資料庫使用壓縮,並在設定 SQL Server受控備份至 Microsoft Azure 之前,先使用壓縮並測試備份檔案大小。 您可以藉由備份至本機磁片或使用 Transact-SQL 語句手動備份至 Azure 儲存體
BACKUP TO URL
來進行測試。 如需詳細資訊,請參閱 SQL Server Backup to URL。復原模式:僅支援設定為完整或大量記錄模式的資料庫。 不支援設定為簡單復原模式的資料庫。
以支援備份、高可用性或災害復原的其他技術設定 Microsoft Azure 的 SQL Server 受控備份時,可能會有一些限制。 如需詳細資訊,請參閱SQL Server受控備份至 Azure:互通性和共存性。
相關工作
工作描述 | 主題 |
基本工作,例如為資料庫設定SQL Server受控備份至 Microsoft Azure,或在實例層級設定預設設定、在實例或資料庫層級停用SQL Server受控備份至 Microsoft Azure、暫停並重新啟動SQL Server受控備份至 Microsoft Azure。 | SQL Server Managed Backup 到 Azure - 保留和儲存體設定 |
教程:設定及監視SQL Server受控備份至 Microsoft Azure 的逐步指示。 | 設定 SQL Server Managed Backup 到 Azure |
教程:設定及監視可用性群組中資料庫的 Microsoft Azure 受控備份SQL Server逐步指示。 | 針對可用性群組設定 SQL Server Managed Backup 到 Azure |
監視SQL Server受控備份至 Microsoft Azure 的相關工具和概念和工作。 | 監視 SQL Server Managed Backup 到 Azure |
針對SQL Server受控備份至 Microsoft Azure 進行疑難排解的工具和步驟。 | SQL Server Managed Backup 到 Azure 的疑難排解 |
另請參閱
使用 Azure Blob 儲存體服務的 SQL Server 備份及還原
SQL Server 備份至 URL
SQL Server Managed Backup 到 Azure:互通性與共存性
SQL Server Managed Backup 到 Azure 的疑難排解