在 Azure VM 備份上執行之 SQL Server 資料庫的常見問題集

本文將回答有關備份在 Azure 虛擬機器 (VM) 上執行並使用 Azure 備份服務之 SQL Server 資料庫的常見問題。

Backup

我可以同時針對 IaaS VM 及相同電腦上的 SQL Server 使用 Azure 備份嗎?

是的,您可以在相同的 VM 上同時擁有 VM 備份和 SQL 備份。 在此情況下,我們會在內部觸發只複製 VM 上的完整備份,而不會截斷記錄。

解決方案會重試或自動修復備份嗎?

在某些情況下,Azure 備份服務會觸發補救備份。 在以下所述的任何六種情況下,可能會進行自動修復:

  • 如果記錄或差異備份因為 LSN 驗證錯誤而失敗,則會將下一個記錄或差異備份轉換成完整備份。
  • 如果在記錄或差異備份之前未進行完整備份,則會將該記錄或差異備份轉換成完整備份。
  • 如果最新完整備份的時間點在 15 天以前,則會將下一個記錄或差異備份轉換成完整備份。
  • 升級完成並開始擴充之後,會重新觸發所有因為擴充功能升級而取消的備份作業。
  • 如果您選擇在還原期間覆寫資料庫,則下一個記錄/差異備份會失敗,並改為觸發完整備份。
  • 如果完整備份因為資料庫復原模式變更而必須重設記錄鏈結,則會在下一個排程時自動觸發完整備份。

我可以取消自動修復的備份作業嗎?

否,您無法取消自動修復作業。 不過,您可以遵循下列步驟來退出作業:

  1. 在 SQL Server 執行個體上的 C:\Program Files\Azure Workload Backup\bin 資料夾中,建立或編輯 ExtensionSettingsOverrides.json 檔案。
  2. ExtensionSettingsOverrides.json 檔案中,設定 {"EnableAutoHealer": false}
  3. 儲存變更並關閉檔案。
  4. 在 SQL Server 執行個體上,開啟 [工作管理員],然後重新啟動 AzureWLBackupCoordinatorSvc 服務。

我是否可控制在 SQL 伺服器上能夠執行多少並行備份?

是。 您可以限制備份原則的執行速率,以儘量降低對 SQL Server 執行個體的影響。 變更設定:

  1. 在 SQL Server 執行個體上的 C:\Program Files\Azure Workload Backup\bin 資料夾中,建立 ExtensionSettingsOverrides.json 檔案。

  2. ExtensionSettingsOverrides.json 檔案中,將 DefaultBackupTasksThreshold 設定變更為較低的值 (例如 5)。
    {"DefaultBackupTasksThreshold": 5}
    DefaultBackupTasksThreshold 的預設值為 20

  3. 儲存變更並關閉該檔案。

  4. 在 SQL Server 執行個體上,開啟 [工作管理員]。 重新啟動 AzureWLBackupCoordinatorSvc 服務。

    雖然此方法在備份應用程式耗用大量資源的情況下會很有幫助,但 SQL Server Resource Governor 是指定傳入應用程式要求可使用 CPU、實體 IO 和記憶體數量限制的較通用方式。

注意

在 UX 中,您仍然可以直接排程在任何指定時間進行不限數量的備份。 不過,這些備份會在滑動視窗中處理 (根據上述範例假設為 5 個備份)。

成功的備份作業是否會建立警示?

否。 成功的備份作業不會產生警示。 只有失敗的備份作業會傳送警示。 這裡詳載了入口網站警示的行為。 不過,如果您希望成功的作業也要有警示,您可以使用 Azure 監視器進行監視

未來的資料庫會自動加入以進行備份嗎?

是的,您可以使用自動保護來達成這項功能。

如果我從自動受到保護的執行個體中刪除資料庫,備份將有何情況?

如果從自動受到保護的執行個體中捨棄資料庫,系統仍會嘗試進行資料庫備份。 這表示已刪除的資料庫會開始在 [備份項目] 下方顯示為狀況不良,且仍受到保護。

若要停止保護此資料庫,正確方式是在此資料庫上停止備份刪除資料

我可以保護已啟用 Azure 磁碟加密 (ADE) 之虛擬機器上的資料庫嗎?

是的,您可以保護已啟用 Azure 磁碟加密 (ADE) 之虛擬機器上的資料庫。

我可以保護開啟 TDE (透明資料加密) 功能的資料庫,且該資料庫會在整個備份過程中保持加密狀態嗎?

是的,Azure 備份支援已啟用 TDE 之 SQL Server 資料庫或伺服器的備份。 備份功能支援搭配 Azure 所管理的金鑰,或搭配客戶自控金鑰 (BYOK) 使用 TDE。 備份功能不會在備份過程中執行任何 SQL 加密,因此資料庫會在備份時保持加密狀態。

Azure 備份是否會在資料流上執行總和檢查碼運算?

我們會在資料流上執行總和檢查碼運算。 不過,這不可與 SQL 總和檢查碼混淆。 Azure 工作負載備份會在資料流上計算總和檢查碼,並在備份作業期間明確加以儲存。 然後會使用此總和檢查碼資料流作為參考,並與還原作業期間資料流的總和檢查碼交叉驗證,以確保資料一致。

管理

是否可以在 [備份作業] 功能表中看到已排程的備份作業?

[備份作業] 功能表會顯示所有排程和隨選作業,但排程記錄備份則除外,因為這些備份可能非常頻繁。 針對排程記錄作業,請使用 Azure 監視器進行監視

如果我停止自動受到保護之資料庫的備份作業,將有何行為?

如果您停止備份並保留資料,則未來不會進行任何備份,而且現有的復原點會保持不變。 資料庫仍會視為受保護,並顯示在 [備份項目] 底下。

如果您停止備份並刪除資料,則未來不會進行任何備份,同時也會刪除現有的復原點。 資料庫會視為未受保護,並顯示在 [設定備份] 中的執行個體底下。 不過,不同於其他可手動選取或可自動取得保護的未受保護資料庫,此資料庫會呈現灰色且無法選取。 重新保護此資料庫的唯一方式,就是在執行個體上停用自動保護。 您現在可以選取此資料庫並設定其保護,或在執行個體上再次重新啟用自動保護。

如果我在資料庫受到保護後變更其名稱,將有何行為?

重新命名的資料庫會被視為新的資料庫。 因此,服務會將這種情況視同找不到資料庫,且讓備份失敗。

您可以選取資料庫,該資料庫現已重新命名並設定保護。 如果已在執行個體上啟用自動保護,則會自動偵測並保護重新命名的資料庫。

為什麼我看不到已新增至自動受到保護之執行個體的資料庫?

新增至自動受到保護之執行個體的資料庫可能不會立即出現在受保護的項目底下。 這是因為探索通常會每隔 8 小時執行一次,而系統的實際保護由於取決於 VM 的大小,因此可能需要更多時間。 不過,如果您如下圖所示選取 [重新探索 DB] 以手動方式執行探索,即可立即探索新的資料庫:

Screenshot of manually discover a newly added database.

還原

我可以在還原期間只下載檔案子集作為檔案嗎?

是,您可以下載部分檔案,如這裡所述。

我可以在還原為檔案期間將檔案下載至未註冊 VM 嗎?

是,您需要已註冊 VM 的檔案路徑才能下載檔案。 該路徑也可以是網路共用。 設定未註冊 VM 到已註冊 VM 的網路共用,然後選擇已註冊 VM 作為目標,網路共用作為目標檔案路徑。 下載檔案後,您只要從已註冊 VM 卸載網路共用,檔案現在就可在未註冊 VM 中使用。