Назад | Перейти на главную страницу

Как избежать автоматической установки исправлений для SQL Server 2016 через службу автоматического обновления Windows?

При обновлении исправлений ОС мы видим, что SQL Server также получает исправления; мы не хотим устанавливать исправления SQL Server и не хотим останавливать установку исправлений ОС.

Microsoft сообщает: «По умолчанию клиент Центра обновления Windows настроен на предоставление обновлений только для Windows. Если вы включите параметр« Предоставлять мне обновления для других продуктов Microsoft при обновлении Windows », вы также будете получать обновления для других продуктов, включая исправления безопасности для Microsoft SQL Server. и другое программное обеспечение Microsoft ».

Я проверил этот параметр на сервере, он был выключен и неактивен.

Следовательно, я считаю, что при установке SQL Server была отмечена опция, указанная ниже, и это заставляет его получать обновления:

Итак, как мы можем отключить его с помощью какой-либо политики или раздела реестра?

Возможность 1 - Управление обновлениями Azure

Из Настройка параметров Центра обновления Windows для управления обновлениями, который цитируется в вашем вопросе:

По умолчанию клиент Центра обновления Windows настроен на предоставление обновлений только для Windows. Если вы включите Предоставлять мне обновления для других продуктов Microsoft при обновлении Windows вы также получаете обновления для других продуктов, включая исправления безопасности для Microsoft SQL Server и другого программного обеспечения Microsoft.

Далее говорится:

Этот параметр можно настроить, если вы скачали и скопировали последнюю версию Файлы административных шаблонов доступно для Windows 2016 и выше.

Если вы используете Windows Server 2012 R2, этот параметр нельзя настроить с помощью групповой политики. Выполните следующую команду PowerShell на этих машинах. Управление обновлениями соответствует этому параметру.

$ServiceManager = (New-Object -com "Microsoft.Update.ServiceManager")
$ServiceManager.Services
$ServiceID = "7971f918-a847-4430-9279-4a52d1efe18d"
$ServiceManager.AddService2($ServiceId,7,"")

Возможность 2 - Автоматическая установка исправлений

У Microsoft есть еще один документ для Автоматическая установка исправлений для SQL Server на виртуальных машинах Azure.

Некоторые ссылки на «Включение / отключение автоматического исправления» неоднозначны относительно того, относятся ли они только к обновлениям SQL или ко всем обновлениям.

Setting             Possible values            Description
-------             ---------------            -----------
Automated Patching  Enable/Disable (Disabled)  Enables or disables Automated Patching
                                                 for an Azure virtual machine.

Кроме того, некоторый текст на снимке экрана подразумевает, что это все или ничего.

Установите окно исправления, в течение которого все патчи Windows и SQL будет применяться. (курсив мой)

Но затем он предоставляет некоторый код Powershell, который, похоже, может быть настроен специально для обновлений SQL. Включить:

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"
$aps = New-AzVMSqlServerAutoPatchingConfig -Enable -DayOfWeek "Thursday" -MaintenanceWindowStartingHour 11 -MaintenanceWindowDuration 120  -PatchCategory "Important"

И отключить:

Чтобы отключить автоматическое исправление, запустите тот же сценарий без -Enable параметр к New-AzVMSqlServerAutoPatchingConfig. Отсутствие -Enable Параметр указывает команду на отключение функции.

Поскольку в имени команды Powershell есть «SqlServer», это означает, что она может включать / отключать обновления SQL независимо от других.

Предостережения

  • Документ об автоматическом исправлении опубликован 7 марта 2018 года. Одна из радостей Azure заключается в том, что они могут изменить вещи к лучшему в любое время. И одним из недостатков Azure является то, что они могут что-то изменить в любой момент.

  • В этом документе также упоминается, что не все обновления SQL будут применяться как часть этого механизма обновления.

    Важный Устанавливаются только обновления Windows и SQL Server, помеченные как важные или критические. Другие обновления SQL Server, такие как пакеты обновления и накопительные обновления, которые не помечены как важные или критические, необходимо устанавливать вручную.

    Если вы видите, что применяются пакеты обновления SQL или накопительные обновления, они должны быть получены из какого-то другого процесса обновления.