從復原服務保存庫備份多個 SQL Server VM

SQL Server 資料庫是需要低恢復點目標 (RPO) 和長期保留的重要工作負載。 您可以使用 Azure 備份,備份在 Azure 虛擬機 (VM) 上執行的 SQL Server 資料庫。

本文說明如何將在 Azure VM 上執行的 SQL Server 資料庫備份至 Azure 備份 復原服務保存庫。

在本文中,您將學會如何:

  • 建立及設定保存庫。
  • 探索資料庫並設定備份。
  • 設定資料庫的自動保護。

注意

若要深入了解支援的設定和案例,請參閱 SQL 備份支援矩陣圖

必要條件

備份 SQL Server 資料庫之前,請先檢查下列準則:

  1. 識別或建立 與裝載 SQL Server 實例之 VM 相同的區域和訂用帳戶中的復原服務保存庫
  2. 確認 VM 具有網路連線
  3. 請確定 已在 VM 上安裝 Azure 虛擬機器代理程式
  4. 請確定 VM 上已安裝 .NET 4.5.2 版或更新版本。
  5. 請確定 SQL Server 資料庫遵循 Azure 備份 的資料庫命名指導方針。
  6. 請確定 SQL Server VM 名稱和資源組名的合併長度不會超過 Azure Resource Manager VM 的 84 個字元(或傳統 VM 的 77 個字元)。 之所以有此限制,是因為服務會保留某些字元。
  7. 請檢查您尚未為資料庫啟用任何其他備份解決方案。 備份資料庫之前,請先停用所有其他 SQL Server 備份。
  8. 使用 SQL Server 2008 R2 或 SQL Server 2012 時,您可能會遇到備份的時區問題,如這裡所述。 請確定您使用的是最新的累積更新,以避免上述時區相關問題。 如果無法對 Azure VM 上的 SQL Server 實例套用更新,請停用虛擬機上時區的日光節約時間 (DST)。

注意

您可以針對 Azure VM 啟用 Azure 備份,也可以針對在 VM 上執行的 SQL Server 資料庫啟用,而不會發生衝突。

建立網路連線

針對所有作業,SQL Server VM 需要連線到 Azure 備份 服務、Azure 儲存體 和 Microsoft Entra ID。 這可以藉由使用私人端點或允許存取所需的公用IP位址或 FQDN 來達成。 不允許正確連線到所需的 Azure 服務,可能會導致資料庫探索、設定備份、執行備份和還原數據等作業失敗。

下表列出可用來建立連線的各種替代方案:

選項 優點 缺點
私人端點 允許透過虛擬網路內的私人IP進行備份

在網路和保存庫端提供細微的控制
產生標準私人端點 成本
NSG 服務標籤 隨著範圍變更自動合併,更容易管理

無額外費用
只能與 NSG 搭配使用

提供整個服務的存取權
Azure 防火牆 FQDN 標籤 更容易管理,因為會自動管理必要的 FQDN 只能與 Azure 防火牆 搭配使用
允許存取服務 FQDN/IP 不需額外費用。

適用於所有網路安全性應用裝置和防火牆。

您也可以使用服務端點進行 儲存體Microsoft Entra ID。 不過,針對 Azure 備份,您必須將存取權指派給對應的IP/FQDN。
可能需要存取一組廣泛的IP或 FQDN。
使用 HTTP Proxy VM 的單一因特網存取點 使用 Proxy 軟體執行 VM 的額外成本

下列各節提供使用這些選項的詳細數據。

注意

您可以使用 Azure 備份 連線測試腳本,在 Windows 環境中自我診斷網路連線問題。

私人端點

私人端點可讓您從虛擬網路內的伺服器安全地連線到您的復原服務保存庫。 私人端點會針對保存庫使用來自 VNET 位址空間的 IP。 虛擬網路內資源與保存庫之間的網路流量會透過您的虛擬網路和 Microsoft 骨幹網路上的私人連結傳輸。 這可消除來自公用因特網的暴露。 若要深入瞭解私人端點,請參閱這裡 Azure 備份

NSG 標籤

如果您使用網路安全組 (NSG),請使用 AzureBackup 服務標籤來允許輸出存取 Azure 備份。 除了 Azure 備份 標籤之外,您還需要為 Microsoft Entra ID (AzureActiveDirectory) 和 Azure 儲存體(儲存體) 建立類似的 NSG 規則,以允許驗證和數據傳輸的連線。 下列步驟說明建立 Azure 備份 標籤規則的程式:

  1. 在 [所有服務] 中,移至 [網路安全性群組],然後選取網路安全性群組。

  2. 選取 [設定] 底下的 [輸出安全性規則]。

  3. 選取 [新增]。 輸入可供用於建立新規則的所有必要詳細資料,如安全性規則設定中所述。 確定 [目的地] 選項設定為 [服務卷標],[目的地服務卷標] 設定為 [AzureBackup]。

  4. 選取 [新增] 以儲存新建立的輸出安全性規則。

同樣地,您可以為 Azure 儲存體 和 Microsoft Entra 識別元建立 NSG 輸出安全性規則。

Azure 防火牆標籤

如果您使用 Azure 防火牆,請使用 AzureBackup Azure 防火牆 FQDN 標籤建立應用程式規則。 這可讓所有輸出存取 Azure 備份。

允許存取服務 IP 範圍

如果您選擇允許存取服務 IP,請參閱這裡可用的 JSON 檔案中的 IP 範圍。 您必須允許存取對應至 Azure 備份、Azure 儲存體和 Microsoft Entra ID 的 IP。

允許存取服務 FQDN

您也可以使用下列 FQDN,允許從伺服器存取所需的服務:

服務 要存取的功能變數名稱 連接埠
Azure 備份 *.backup.windowsazure.com 443
Azure 儲存體 *.blob.core.windows.net

*.queue.core.windows.net

*.blob.storage.azure.net
443
Azure AD *.login.microsoft.com

依據這篇文章,允許存取 56 和 59 小節下的 FQDN
443

依適用情況

允許伺服器在內部負載平衡器後方進行連線

使用內部負載平衡器時,您需要允許虛擬機器在內部負載平衡器後方之進行輸出連線,才能執行備份作業。 若要這樣做,您可以使用內部和外部標準負載平衡器的組合來建立輸出連線。 深入瞭解 設定,以 在內部負載平衡器的後端集區中建立僅限 VM 的輸出設定。

使用 HTTP Proxy 伺服器以路由流量

當您在 Azure VM 上備份 SQL Server 資料庫時,VM 上的備份擴充功能會使用 HTTPS API 將管理命令傳送至 Azure 備份,並將資料傳送至 Azure 儲存體。 備份延伸模組也會使用 Microsoft Entra ID 進行驗證。 透過 HTTP Proxy 路由傳送這三項服務的備份延伸模組流量。 使用上述IP和 FQDN 清單,以允許存取所需的服務。 不支援已驗證的 Proxy 伺服器。

注意

停用 VM 內 localhost 通訊的 Proxy。 從 SQL VM 進行輸出通訊時,將會接受 Proxy。

Azure 備份的資料庫命名指導方針

  • 避免在資料庫名稱中使用下列元素:

    • 尾端和前置空格
    • 尾端驚嘆號 (!)
    • 右方括弧 (])
    • 分號 (;)
    • 斜線 (/)
    • 百分比 ≤
  • SQL 備份組態不支援資料庫名稱中的單引號,而且會導致部署失敗。 如果有任何具有單引號的資料庫,建議您重新命名資料庫,或採用原生備份方法。

  • 別名適用於不支援的字元,但建議您避免使用。 如需詳細資訊,請參閱 瞭解數據表服務數據模型

  • 不支援相同 SQL 實例上的多個資料庫與大小寫差異。

  • 設定保護之後,不支援變更 SQL 資料庫的大小寫。

注意

不支援具有特殊字元的資料庫設定保護作業,例如{'}](.),[=-;+&'/等特殊字元。 您可以變更資料庫名稱或啟用 自動保護,以成功保護這些資料庫。

建立復原服務保存庫

復原服務保存庫是一個管理實體,可儲存一段時間內所建立的復原點,並提供介面以供執行備份相關作業。 這些作業包括製作隨選備份、執行還原,以及建立備份原則。

若要建立復原服務保存庫:

  1. 登入 Azure 入口網站

  2. 搜尋備份中心,然後移至備份中心儀表板。

    顯示搜尋位置並選取 [備份中心] 的螢幕快照。

  3. 在 [概觀] 窗格中,選取 [保存庫]

    用於建立復原服務保存庫之按鈕的螢幕快照。

  4. 選取 [復原服務保存庫]>[繼續]

    此螢幕快照顯示選取 [復原服務] 作為保存庫類型的位置。

  5. 在 [復原服務保存庫] 窗格中,輸入下列值:

    • 訂用帳戶:選取要使用的訂用帳戶。 如果您是唯一一個訂用帳戶的成員,就會看到該名稱。 如果您不確定要使用哪個訂用帳戶,請使用預設的訂用帳戶。 只有在您的公司或學校帳戶與多個 Azure 訂用帳戶相關聯時,才會有多個選擇。

    • 資源群組:使用現有資源群組,或建立新的群組。 若要檢視訂用帳戶中可用的資源群組清單,請選取 [使用現有項目],然後在下拉式清單中選取資源。 若要建立新的資源群組,請選取 [新建],然後輸入名稱。 如需有關資源群組的詳細資訊,請參閱 Azure Resource Manager 概觀

    • 保存庫名稱:輸入自訂名稱以識別保存庫。 這個名稱對 Azure 訂用帳戶必須是唯一的。 指定的名稱至少要有 2 個字元,但不能超過 50 個字元。 名稱開頭必須是字母,且只能包含字母、數字和連字號。

    • 區域:選取保存庫的地理區域。 若要建立保存庫來協助保護任何資料來源,保存庫必須與資料來源位於相同區域。

      重要

      如果不確定資料來源的位置,請關閉視窗。 在入口網站中,移至您的資源清單。 如果您在多個區域中有資料來源,請為每個區域建立一個復原服務保存庫。 請先在第一個位置建立保存庫,然後再於另一個位置建立保存庫。 不需要指定用來儲存備份資料的儲存體帳戶。 復原服務保存庫和 Azure 備份會自動處理該事宜。

    顯示設定復原服務保存庫欄位的螢幕快照。

  6. 提供值之後,選取 [檢閱 + 建立]

  7. 若要完成建立復原服務保存庫,請選取 [建立]

    建立復原服務保存庫可能需要一點時間。 監視右上角 [通知] 區域中的狀態通知。 保存庫建立之後,就會出現在 [復原服務保存庫] 的清單中。 如果保存庫未出現,請選取 [重新整理]

    顯示重新整理備份保存庫清單之按鈕的螢幕快照。

注意

Azure 備份現在支援不可變保存庫,可協助您確保復原點建立後,一直到其備份原則中設定的到期日前無法刪除。 您可以讓此不變性無法逆轉,以最大程度防止備份資料受到各種威脅,包括勒索軟體攻擊和惡意執行者。 深入了解

探索 SQL Server 資料庫

如何探索在 VM 上執行的資料庫:

  1. Azure 入口網站 中,移至 [備份中心],然後按兩下 [+備份]。

  2. 選取 [Azure VM 中的 SQL] 作為數據源類型,選取您建立的復原服務保存庫,然後按兩下 [繼續]。

    顯示選取 [備份] 以檢視 VM 中執行之資料庫的螢幕快照。

  3. [備份目標>探索 VM 中的 DB] 中,選取 [開始探索] 以搜尋訂用帳戶中未受保護的 VM。 此搜尋可能需要一些時間,視訂用帳戶中未受保護的 VM 數目而定。

    • 探索之後,未受保護的 VM 應該會出現在清單中,依名稱和資源群組列出。

    • 如果 VM 未如預期般列出,請參閱它是否已備份在保存庫中。

    • 多個 VM 可以有相同的名稱,但它們會屬於不同的資源群組。

      在搜尋 VM 中的 DB 時,備份擱置中

  4. 在 VM 清單中,選取執行 SQL Server 資料庫 >探索 DB 的 VM。

  5. 在通知追蹤資料庫探索。 此動作所需的時間取決於 VM 資料庫的數目。 探索到選取的資料庫時,會出現成功訊息。

    部署成功訊息

  6. Azure 備份 探索 VM 上的所有 SQL Server 資料庫。 在探索期間,下列元素會在背景中發生:

    • Azure 備份 向保存庫註冊 VM 以進行工作負載備份。 已註冊 VM 上的所有資料庫只能備份至此保存庫。

    • Azure 備份 會在 VM 上安裝 AzureBackupWindowsWorkload 擴充功能。 SQL 資料庫上未安裝任何代理程式。

    • Azure 備份 會在 VM 上建立服務帳戶 NT Service\AzureWLBackupPluginSvc。

      • 所有備份和還原作業都會使用服務帳戶。
      • NT Service\AzureWLBackupPluginSvc 需要 SQL 系統管理員許可權。 在 Marketplace 中建立的所有 SQL Server VM 都隨附已安裝 SqlIaaSExtension。 AzureBackupWindowsWorkload 擴充功能會使用 SQLIaaSExtension 自動取得所需的許可權。
    • 如果您未從 Marketplace 建立 VM,或是在 SQL 2008 和 2008 R2 上,則 VM 可能未安裝 SqlIaaSExtension,且探索作業失敗,並出現錯誤訊息 UserErrorSQLNoSys 管理員 Membership。 若要修正此問題,請遵循設定 VM 許可權下的指示。

      選取 VM 和資料庫

設定備份

  1. [備份目標>步驟 2:設定備份] 中,選取 [設定備份]。

    選取 [設定備份]

  2. 選取 [新增資源 ] 以查看所有已註冊的可用性群組和獨立 SQL Server 實例。

    選取 [新增資源]

  3. 在 [ 選取要備份 的專案] 畫面中,選取數據列左邊的箭號,以展開該實例或 Always On 可用性群組中所有未受保護的資料庫清單。

    選取要備份的專案

  4. 選擇您想要保護的所有資料庫,然後選取 [ 確定]。

    保護資料庫

    若要將備份負載優化,Azure 備份 將一個備份作業中的資料庫數目上限設定為 50。

    • 若要保護超過50個資料庫,請設定多個備份。

    • 若要 啟用 整個實例或 Always On 可用性群組,請在 [AUTOPROTECT] 下拉式清單中選取 [開啟],然後選取 [ 確定]。

      注意

      自動 保護 功能不僅可一次在所有現有的資料庫上啟用保護,而且會自動保護新增至該實例或可用性群組的任何新資料庫。

  5. 定義備份原則。 您可以執行下列其中一個步驟:

    • 選取預設原則作為 HourlyLogBackup

    • 選擇先前為 SQL 建立的現有備份原則。

    • 根據您的 RPO 和保留範圍定義新的原則。

      選取備份原則

  6. 選取 [啟用備份 ] 以提交 [ 設定保護 ] 作業,並追蹤入口網站 [ 通知 ] 區域中的設定進度。

    追蹤設定進度

建立備份原則

備份原則會定義備份的建立時間,以及備份保留的時間長度。

  • 原則會建立於保存庫層級上。
  • 多個保存庫可以使用相同的備份原則,但您必須將備份原則套用至每個保存庫。
  • 當您建立備份原則時,每日完整備份是預設值。
  • 您可以新增差異備份,但只有在將完整備份設定為每周進行時。
  • 瞭解 不同類型的備份原則

若要建立備份原則:

  1. 移至 [備份中心 ],然後按兩下 [ +原則]。

  2. 選取 [Azure VM 中的 SQL Server] 作為數據源類型,選取應在其中建立原則的保存庫,然後按兩下 [繼續]。

    顯示為新備份原則選擇原則類型的螢幕快照。

  3. 在 [ 原則名稱] 中,輸入新原則的名稱。

    顯示輸入原則名稱的螢幕快照。

  4. 選取對應至 [完整備份] 的 [編輯] 連結,以修改預設設定。

    • 選取備份 頻率。 選擇 [ 每日 ] 或 [每周]。
    • 針對 [ 每日],選取備份作業開始時的小時和時區。 您無法為每日完整備份建立差異備份。

    顯示新備份原則欄位的螢幕快照。

  5. [保留範圍] 中,預設會選取所有選項。 清除您不想要的任何保留範圍限制,然後設定要使用的間隔。

    • 任何類型的備份(完整、差異和記錄)的最小保留期限為七天。
    • 復原點會根據其保留範圍標記為保留。 例如,如果您選取每日完整備份,每天只會觸發一次完整備份。
    • 特定日期的備份會根據每周保留範圍和每周保留設定來標記和保留。
    • 每月和每年保留範圍的行為類似。

    顯示保留範圍間隔設定的螢幕快照。

  6. 選取 [ 確定 ] 以接受完整備份的設定。

  7. 選取對應至差異備份的 [編輯] 連結,以修改預設設定。

    • 在 [差異備份原則] 中,選取 [啟用] 以開啟頻率和保留控制項。
    • 您每天只能觸發一個差異備份。 差異備份無法與完整備份在同一天觸發。
    • 差異備份最多可以保留 180 天。
    • 差異備份保留期間不能大於完整備份的保留期間(因為差異備份相依於復原的完整備份)。
    • master 資料庫不支持差異備份。

    顯示差異備份原則的螢幕快照。

  8. 選取對應至記錄備份的 [編輯] 連結,以修改預設設定

    • 在 [ 記錄備份] 中,選取 [ 啟用],然後設定頻率和保留控件。
    • 記錄備份可能會每隔 15 分鐘發生一次,最多可以保留 35 天。
    • 如果資料庫處於 簡單恢復模式,該資料庫的記錄備份排程將會暫停,因此不會觸發任何記錄備份。
    • 如果資料庫的恢復模式從 [完整 ] 變更為 [簡單],記錄備份將會在恢復模式變更后的 24 小時內暫停。 同樣地,如果恢復模式從 Simple 變更,表示資料庫現在可以支援記錄備份,記錄備份排程將會在恢復模式變更的 24 小時內啟用。

    顯示記錄備份原則的螢幕快照。

  9. 在 [ 備份原則] 功能表上,選擇是否要啟用 SQL 備份壓縮 。 此選項預設為停用。 如果啟用,SQL Server 會將壓縮的備份數據流傳送至 VDI。 Azure 備份 會根據這個控件的值,使用 COMPRESSION / NO_COMPRESSION 子句覆寫實例層級預設值。

  10. 完成備份原則的編輯之後,請選取 [ 確定]。

注意

每個記錄備份都會鏈結至先前的完整備份,以形成復原鏈結。 此完整備份將會保留,直到上次記錄備份的保留期已過期為止。 這可能表示完整備份會保留一個額外的期間,以確保可以復原所有記錄。 假設您有每周的完整備份、每日差異和 2 小時記錄。 所有這些項目都會保留 30 天。 但是,每周完整備份只有在下一次完整備份可用之後,才能真正清除/刪除,也就是 30 + 7 天后。 例如,每周完整備份會在 11 月 16 日發生。 根據保留原則,應保留至 12 月 16 日。 此完整記錄備份會在 11 月 22 日下一個排程的完整之前進行。 直到 12 月 22 日才能使用此記錄檔,才能刪除 11 月 16 日的完整記錄。 因此,11月16日完整保留到12月22日。

啟用自動保護

您可以啟用自動保護,將所有現有和未來的資料庫自動備份至獨立 SQL Server 實例或 Always On 可用性群組。

  • 您一次可以選取用於自動保護的資料庫數目沒有限制。 探索通常會每隔 8 小時執行一次。 新探索到資料庫的自動保護會在32小時內觸發。 不過,如果您選取 [重新探索 DB] 選項,即可手動執行探索並立即保護新的資料庫。
  • 如果新探索到的資料庫上的自動保護作業失敗,則會重試三次。 如果這三次重試都失敗,資料庫將不會受到保護。
  • 您無法在啟用自動保護時選擇性地保護或排除實例中的保護。
  • 如果您的實例已經包含一些受保護的資料庫,即使在您開啟自動保護之後,它們仍會受到各自的原則保護。 稍後新增的所有未受保護的資料庫只會有您在啟用自動保護時定義的單一原則,列在 [設定備份] 底下。 不過,您可以稍後變更與自動保護資料庫相關聯的原則。
  • 如果新探索到的資料庫設定 保護 作業失敗,則不會引發警示。 不過,在 [備份作業] 頁面上可以找到 失敗的備份作業

若要啟用自動保護:

  1. [要備份的專案] 中,選取您要啟用自動保護的實例。

  2. 選取 [AUTOPROTECT] 底下的下拉式清單,選擇 [開啟],然後選取 [確定]。

    在可用性群組上啟用自動保護

  3. 備份是針對所有資料庫設定在一起,而且可以在備份作業追蹤。

如果您需要停用自動保護,請選取 [設定備份] 底下的實例名稱,然後選取 [停用實例的自動保護]。 所有資料庫都會繼續備份,但未來的資料庫將不會自動受到保護。

停用該實例上的自動保護

下一步

了解如何: