分享方式:


從復原服務保存庫備份多部 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.6.2 版或更新版本。

    警告

    執行 .NET Framework 4.6.1 或更新版本的 SQL VM 備份支持即將淘汰,因為這些版本 已正式不支援。 我們建議您將 .NET Framework 升級至 4.6.2 版或更新版本,以確保沒有備份失敗。

  5. 確認 SQL Server 資料庫的命名符合 Azure 備份的資料庫命名方針

  6. 確定 Azure Resoure Manager VM 的 SQL Server VM 名稱和資源群組名稱的合併長度未超過 84 個字元 (傳統 VM 的上限為 77 個字元)。 之所以有此限制,是因為服務會保留某些字元。

  7. 檢查您未針對資料庫啟用任何其他備份解決方案。 在備份資料庫前,請停用所有其他的SQL Server 備份。

  8. 使用 SQL Server 2008 R2 或 SQL Server 2012 時,可能會遇到此處所述的備份時區問題。 請確定已安裝了最新的累積更新檔案,以免發生上述的時區相關問題。 如果無法將更新套用至 Azure VM 上的 SQL Server 執行個體,請停用虛擬機器上該時區的日光節約時間 (DST)。

注意

您可以同時為 Azure VM 以及在該 VM 上執行的SQL Server 資料庫啟用 Azure 備份,而不會發生任何衝突。

建立網路連線

在進行所有作業時,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 ID 的 NSG 輸出安全性規則。

Azure 防火牆標籤

如果您使用 Azure 防火牆,請使用 AzureBackup Azure 防火牆 FQDN 標籤來建立應用程式規則。 這會允許對 Azure 備份進行的所有輸出存取。

注意

Azure 備份 目前不支援已啟用 TLS 檢查的應用程式規則,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。 Proxy 將會接受來自 SQL VM 的輸出通訊。

Azure 備份的資料庫命名方針

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

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

  • 對於不支援的字元,可以使用別名,但建議避免採用此做法。 如需詳細資訊,請參閱 了解表格服務資料模型

  • 不支援相同 SQL 執行個體上,僅具有大小寫差異的多個資料庫。

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

注意

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

建立復原服務保存庫

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

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

  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 可以有相同名稱,但會屬於不同的資源群組。

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

  4. 在 VM 清單中,選取執行 SQL Server 資料庫的 VM,然後選取 [探索資料庫]>

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

    部署成功訊息

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

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

    • Azure Backup 在 VM 上安裝 AzureBackupWindowsWorkload 擴充功能。 SQL 資料庫上不會安裝代理程式。

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

      • 所有備份和還原作業都會使用此服務帳戶。
      • NT Service\AzureWLBackupPluginSvc 需要 SQL 系統管理員權限。 在 Marketplace 中建立的所有 SQL Server VM 都會預先安裝 SqlIaaSExtension。 AzureBackupWindowsWorkload 延伸模組會使用 SQLIaaSExtension 來自動取得必要的權限。
    • 如果您尚未從 Marketplace 建立 VM,或者,如果您使用 SQL 2008 和 2008 R2,則 VM 不會安裝 SqlIaaSExtension,因此探索作業將會失敗,並顯示錯誤訊息 UserErrorSQLNoSysAdminMembership。 若要修正此問題,請遵循設定 VM 權限底下的指示。

      選取 VM 和資料庫

設定備份

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

    選取 [設定備份]

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

    選取 [新增資源]

  3. 在 [選取要備份的項目] 畫面中,選取資料列左邊的箭號,即可展開該執行個體或 Always On 可用性群組中所有未受保護的資料庫清單。

    選取要備份的專案

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

    保護資料庫

    為了將備份負載最佳化,Azure 備份會將每個備份作業的資料庫數目上限設為 50。

    • 若要保護 50 個以上的資料庫,請設定多個備份。

    • 若要啟用整個執行個體或 Always On 可用性群組,請在 [自動保護] 下拉式清單中,選取 [開啟],然後選取 [確定]

      注意

      自動保護功能不僅可一次性地在所有現有的資料庫上啟用保護,也會自動保護新增至該執行個體或可用性群組的任何新資料庫。

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

    • 選取 HourlyLogBackup 的預設原則。

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

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

      選取備份原則

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

    追蹤設定進度

建立備份原則

備份原則會定義備份的進行時間和備份的保留時間長度。

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

若要建立備份原則:

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

  2. 選取 [Azure VM 中的 SQL Server] 做為資料來源類型,選取要在其中建立原則的保存庫,然後按一下 [繼續]

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

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

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

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

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

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

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

    • 所有備份類型 (完整、差異和記錄) 的最小保留期間為七天。
    • 復原點會根據其保留範圍標記為保留。 例如,如果您選取每日完整備份,每天只會觸發一次完整備份。
    • 系統會根據每週保留範圍和每週保留設定,標記和保留特定日期的備份。
    • 每月和每年保留範圍會以類似方式運作。

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

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

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

    • 在 [差異備份原則] 中,選取 [啟用] 以開啟頻率和保留控制項。
    • 您每天僅可以觸發一次差異備份。 差異備份無法與完整備份在同一天觸發。
    • 差異備份最多可以保留 180 天。
    • 差異備份保留期間不能長於完整備份 (因為差異備份依靠完整備份來進行復原)。
    • Master 資料庫不支援差異備份。

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

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

    • 在 [記錄備份] 中選取 [啟用],然後設定頻率和保留控制項。
    • 記錄備份可以每隔 15 分鐘頻繁地出現,而且最多可以保留 35 天。
    • 如果資料庫處於簡單復原模式中,該資料庫的記錄備份排程將會暫停,因此不會觸發任何記錄備份。
    • 如果資料庫的復原模式從完整變更為簡單,則會在復原模式變更後的 24 小時內暫停記錄備份。 同理如果變更了簡單的復原模式,則表示能夠支援資料庫的記錄備份,且會在復原模式變更後的 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 可用性群組。

  • 您可以一次選取不限數量的資料庫,使其受到自動保護。 探索作業通常會每隔八小時執行一次。 系統會在 32 小時內為新探索到的資料庫觸發自動保護。 不過如果選取 [重新探索 DB] 選項,以手動方式執行探索,即可立即探索並保護新的資料庫。
  • 如果在新探索到的資料庫上啟動自動保護作業失敗,則會重試三次。 如果三次重試都失敗,資料庫將不會受到保護。
  • 啟用自動保護時,您無法選擇保護或排除執行個體中的資料庫不受保護。
  • 如果您的執行個體已包含一些受保護的資料庫,即使在您開啟自動保護之後,這些資料庫仍會在其各自的原則之下受到保護。 稍後新增的所有未受保護資料庫,只會具有在啟用自動保護時所定義的單一原則 (列在 [設定備份] 底下)。 不過,您可以在稍後變更與自動保護資料庫建立關聯的原則。
  • 如果新探索到的資料庫的設定保護作業失敗,則不會引發警示。 不過,您可以在 [備份工作] 頁面上找到失敗的備份作業。

若要啟用自動保護:

  1. 在 [要備份的項目] 中,選取要啟用自動保護的執行個體。

  2. 選取 [自動保護] 下的下拉式清單,選擇 [開啟],然後選取 [確定]

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

  3. 所有資料庫會一起設定備份,且您可在 [備份作業] 中加以追蹤。

如果您要停用自動保護,請選取 [設定備份] 下方的執行個體名稱,然後針對該執行個體選取 [停用自動保護]。 所有資料庫都會繼續備份,但未來的資料庫將不會自動受到保護。

停用該實例上的自動保護

下一步

了解如何: