Azure 虛擬機器中 SQL Server 的自動修補

適用於:Azure VM 上的 SQL Server

自動修補會針對執行 SQL Server 的 Azure 虛擬機器建立維護時間範圍。 自動更新只能在此維護時間範圍內安裝。 對 SQL Server 來說,這項限制可確保系統更新及任何關聯的重新啟動都會在對資料庫而言最佳的時機發生。

重要

  • 透過自動修補,僅安裝標示為 [重要] 或 [嚴重] 的 Windows 和 SQL Server 更新。 其他 SQL Server 更新 (例如,未標示為重要嚴重的 Service Pack 和累積更新) 則必須手動安裝。
  • 若要自動安裝累積更新,請檢閱整合式 Azure 更新管理員體驗。

必要條件

若要使用自動修補,您需要下列必要條件:

自 Windows Server 2012 上的 SQL Server 2012 開始,支援自動修補。

此外,請考慮下列作業:

  • 另外還有其他幾種啟用 Azure VM 的自動修補,例如更新管理自動 VM 來賓修補。 請僅選擇一個選項來自動更新您的 VM,因為重疊的工具可能導致更新失敗。
  • 如果您想要在未使用自動修補功能的情況下接收 ESU 更新,可以使用內建的 Windows Update 通道。
  • 針對參與 Always On 可用性群組中不同可用性區域的 SQL Server VM,請設定自動化修補排程,讓不同可用性區域中的可用性複本不會同時修補。

設定

下表說明可以為自動修補設定的選項。 實際的設定步驟會依據您是使用 Azure 入口網站或 Azure Windows PowerShell 命令而有所不同。

設定 可能值 描述
自動修補 啟用/停用 (已停用) 啟用或停用 Azure 虛擬機器的自動修補。
維護排程 每天、星期一、星期二、星期三、星期四、星期五、星期六、星期日 虛擬機器的 Windows、SQL Server 和 Microsoft 更新的下載及安裝排程。
維護開始時間 0-24 更新虛擬機器的當地開始時間。
維護時間範圍 30-180 允許完成下載和安裝更新的分鐘數。
PATCH 類別 重要事項 要下載並安裝之 Windows 更新的類別。

在 Azure 入口網站中設定

您可以在佈建期間或針對現有的 VM,使用 Azure 入口網站來設定「自動修補」。

新的 VM

在 Resource Manager 部署模型中建立新的「SQL Server 虛擬機器」時,請使用 Azure 入口網站來設定「自動修補」。

在 [SQL Server 設定] 索引標籤上,選取 [自動修補] 底下的 [變更設定]。 下列的 Azure 入口網站螢幕擷取畫面顯示 [SQL 自動修補] 窗格。

螢幕擷取畫面,其中顯示了 Azure 入口網站中的 SQL 自動修補。

如需詳細資訊,請參閱在 Azure 上佈建 SQL Server 虛擬機器

現有的 VM

針對現有的 SQL Server 虛擬機器,請開啟 SQL 虛擬機器資源,然後選取 [設定] 下的 [更新]

如果您從未在入口網站中啟用任何 SQL Server VM 的 Azure 更新管理員體驗,則選取 [啟用] 來啟用現有 SQL Server VM 的自動修補。

螢幕擷取畫面,其中顯示了現有 VM SQL 的自動修補。

如果您之前使用過 Azure 更新管理員,則必須前往 SQL 虛擬機器資源中 [設定] 下的 [更新] 頁面,然後選擇 [離開新體驗] 以返回 [自動修補] 體驗:

螢幕擷取畫面,其中顯示了 Azure 入口網站中的 SQL 虛擬機資源更新頁面,已反白顯示 [離開新體驗]。

啟用自動修補並設定修補設定之後,選取 [更新] 頁面底部的 [確定] 按鈕以儲存變更。

如果這是您第一次啟用「自動修補」,Azure 就會在背景中設定 SQL Server IaaS Agent。 在此期間,Azure 入口網站可能不會顯示已設定自動修補。 請等候幾分鐘的時間來安裝及設定代理程式。 在那之後,Azure 入口網站就會反映新的設定。

使用 PowerShell 設定

佈建 SQL VM 之後,請使用 PowerShell 設定自動修補。

在下列範例中,會使用 PowerShell 在現有的 SQL Server VM 上設定自動修補。 New-AzVMSqlServerAutoPatchingConfig 命令會設定自動更新的維護時間範圍。

Update-AzSqlVM -ResourceGroupName 'resourcegroupname' -Name 'vmname' `
-AutoPatchingSettingDayOfWeek Thursday `
-AutoPatchingSettingMaintenanceWindowDuration 120 `
-AutoPatchingSettingMaintenanceWindowStartingHour 11 `
-AutoPatchingSettingEnable

下表會根據此範例來描述對目標 Azure VM 的實際效果:

參數 效果
AutoPatchingSettingDayOfWeek 在每個星期四安裝修補程式。
AutoPatchingSettingMaintenanceWindowDuration 必須在 120 分鐘內安裝修補程式。 根據開始時間,其必須在下午 1:00 之前完成。
AutoPatchingSettingMaintenanceWindowStartingHour 在上午 11:00 開始更新。
AutoPatchingSettingEnable 啟用自動修補

可能需要幾分鐘的時間來安裝及設定 SQL Server IaaS 代理程式。

若要停用自動修補,請使用 -AutoPatchingSettingEnable 上的 $false 值執行下列指令碼。

Update-AzSqlVM -ResourceGroupName 'resourcegroupname' -Name 'vmname' -AutoPatchingSettingEnable:$false

瞭解哪些更新將透過自動修補套用

若要瞭解哪些更新將透過自動修補套用,請檢閱更新指南,並套用嚴重性篩選器來識別重大和重要更新。

從自動修補移轉至 Azure 更新管理員

Azure 更新管理員是一項整合服務,可協助您大規模管理及控管所有虛擬機器與 SQL Server 執行個體更新。 與自動修補不同,Azure 更新管理員會安裝 SQL Server 的累積更新。 建議只使用一個自動化修補服務來管理 SQL Server VM 的更新。

如果您目前使用自動修補,則可以移轉至 Azure 更新管理員

下一步

如需有關其他可用之自動化工作的資訊,請參閱 SQL Server IaaS 代理程式擴充功能

如需在 Azure VM 上執行 SQL Server 的詳細資訊,請參閱 Azure 虛擬機器上的 SQL Server 概觀