安全对象配置状态

Microsoft.SQLServer.Linux.Monitor.AvailabilityReplica.SecurablesConfigMonitor (UnitMonitor)

此监视器检查 Linux 上的 Always On 安全对象访问配置的状态。

Knowledge Base article:

摘要

此监视器检查 Linux 上 Always On 安全对象的访问配置状态。

配置

如果无法访问任意安全对象,监视器会将其运行状态更改为“差”,并触发相应的警报。警报描述中将提供无法访问的安全对象的列表。

原因

一个或多个安全对象无法访问,因为没有访问权限。

解决方法

提供相应的访问权限,访问无法访问的安全对象。

可替代参数

名称

说明

默认值

警报优先级

定义警报优先级。

正常

警报严重性

定义警报严重性。

警告

启用

启用或禁用工作流。

生成警报

定义工作流是否生成警报。

间隔(秒)

运行工作流的重复间隔时间(秒)。

900

同步时间

使用 24 小时格式指定的同步时间。可以忽略。

 

超时(秒)

指定工作流在关闭之前允许运行的时间,并标记为失败。

300

Element properties:

TargetMicrosoft.SQLServer.Linux.AvailabilityReplica
Parent MonitorSystem.Health.ConfigurationState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Linux.MonitorType.SecurablesConfig
RemotableTrue
AccessibilityPublic
Alert Message
Linux 上的 MSSQL Always On: 无法访问某些安全对象。
无法访问以下 Sql Server 安全对象:
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.AvailabilityReplica.SecurablesConfigMonitor" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.AvailabilityReplica" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.SecurablesConfig" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.AvailabilityReplica.SecurablesConfigMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='NoAccessSecurablesList']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<EntityType>AlwaysOn</EntityType>
</Configuration>
</UnitMonitor>