Вопрос или проблема
При обновлении патчей ОС наш сервер получает патчи SQL. Нам не нужны патчи SQL Server, и мы не хотим останавливать установку патчей ОС.
Я проверил настройки Windows Update, чтобы “получать обновления для других продуктов, включая патчи безопасности для Microsoft SQL Server”, и они были отключены и недоступны для изменения.
Я полагаю, что при установке SQL Server была отмечена опция ниже, что и вызывает получение обновлений:
Как мы можем отключить эту настройку через политику или значение реестра?
Возможность 1 – Управление обновлениями Azure
Из Настройка параметров Windows Update для управления обновлениями, который упоминается в вашем вопросе:
По умолчанию клиент Windows Update настроен на предоставление обновлений только для 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 или ко всем обновлениям.
Настройка Возможные значения Описание
------- --------------- -----------
Автоматическое обновление Включено/Отключено (Отключено) Включает или отключает автоматическое обновление
для виртуальной машины Azure.
Кроме того, какой-то текст в скриншоте подразумевает, что это вся система или ни одной.
Установите окно обновления, в течение которого все патчи 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 или кумулятивные обновления, значит, они поступают из другого процесса обновления.
Ответ или решение
Чтобы отключить автоматическое применение патчей для SQL Server в условиях, когда на вашем сервере продолжается установка обновлений операционной системы, вам необходимо выполнить несколько шагов. Ниже представлены возможности и методы, которые помогут вам в этом процессе.
1. Отключение через настройки Windows Update
Если ваш сервер работает на Windows Server 2016 или более поздней версии, вы можете отключить автоматическое получение обновлений для других продуктов, включая SQL Server:
- Откройте редактор групповых политик (cmd:
gpedit.msc
). - Перейдите в раздел Конфигурация компьютера > Административные шаблоны > Windows Components > Windows Update.
- Найдите настройку «Дайте мне обновления для других продуктов, когда я обновляю Windows» и установите её в состояние Отключено.
Если эта опция отключена и посеребрена, необходимо использовать командную строку с PowerShell, чтобы изменить эту настройку:
$ServiceManager = (New-Object -com "Microsoft.Update.ServiceManager")
$ServiceID = "7971f918-a847-4430-9279-4a52d1efe18d"
$ServiceManager.AddService2($ServiceID, 7, "")
2. Использование Azure Update Management
Если ваш SQL Server работает в Azure, вам необходимо настраивать процесс автоматического патчинга. Тут потребуется перейти в Azure Portal и найти настройки автоматического патчинга:
- В Azure Portal выберите вашу виртуальную машину.
- Перейдите в раздел Обновления или Обновления Windows.
- Убедитесь, что Автоматическое применение патчей SQL Server отключено.
Для отключения, вы можете использовать следующий PowerShell-скрипт:
$vmname = "имя_вашей_виртуальной_машины"
$resourcegroupname = "имя_группы_ресурсов"
$aps = New-AzVMSqlServerAutoPatchingConfig -Disable
3. Регистровые настройки
Вы также можете внести изменения непосредственно в реестр Windows, чтобы отключить автоматическое обновление SQL Server.
-
Откройте редактор реестра (cmd:
regedit
). -
Перейдите до следующего пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
-
Здесь вы можете создать или изменить значение
WUServer
и установить его в0
(это будет отключать автоматическое обновление SQL Server).
Заключение
Не забывайте, что отключение автоматических обновлений может повлиять на безопасность вашей системы. Регулярно проверяйте наличие обновлений и устанавливайте их вручную, чтобы гарантировать, что ваш SQL Server и операционная система остаются в актуальном состоянии. Особенно важно следить за критическими обновлениями, которые могут решить известные уязвимости в системе.
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться за поддержкой к специалистам в области IT.