Совместимость пакета обновления

Microsoft.SQLServer.2016.DBEngine.Configuration.ServicePackLevel (UnitMonitor)

Мониторинг версии пакета обновления базы данных в соответствии с параметром совместимости

Knowledge Base article:

Сводка

Этот монитор проверяет версию пакета обновления для данного экземпляра SQL Server. Если значение параметра не соответствует требуемому, создается предупреждение о состоянии "ошибка".

Монитор настроен для создания предупреждения, если версия пакета обновления не равна 0. При необходимости такую реакцию на событие можно переопределить.

Причины

Неисправное состояние вызвано тем, что версия пакета обновления не соответствует требуемой (по умолчанию 0)

Решения

Эту проблему можно устранить путем установки последнего пакета обновления для SQL Server

Другие способы, если текущая версия пакета допустима в данной среде:

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

MatchMonitorHealth

Включено

Включает или отключает рабочий процесс.

Да

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

43200

Минимальный уровень пакета обновлений для SQL Server 2016

Минимальная версия пакета обновления в соответствии с политикой организации. По умолчанию равна 0 (целое число).

0

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.ServicePackVersion
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: соответствие требованиям пакета обновления
Версия пакета обновления экземпляра SQL Server {1} на компьютере {0} не соответствует последнему уровню
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.DBEngine.Configuration.ServicePackLevel" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.ServicePackVersion" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DBEngine.Configuration.ServicePackLevel.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="SPCompliant" MonitorTypeStateID="ValueGood" HealthState="Success"/>
<OperationalState ID="SPNotCompliant" MonitorTypeStateID="ValueBad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<SQLServiceName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</SQLServiceName>
<IntervalSeconds>43200</IntervalSeconds>
<GoodValue>1</GoodValue>
</Configuration>
</UnitMonitor>