Соединения пользователей SQL: производительность

Microsoft.SQLServer.2012.DBEngine.UserConnectionsBaselineMonitor (UnitMonitor)

Этот монитор анализирует соединения пользователей с ядром СУБД SQL за некоторый промежуток времени и вычисляет базовый план за первоначальный период обучения.

Knowledge Base article:

Сводка

Этот монитор анализирует соединения пользователей с ядром СУБД SQL за некоторый промежуток времени и вычисляет базовый план за первоначальный период обучения. Если число соединений пользователей выходит за рамки вычисленных в базовом плане, формируется предупреждение или сообщение об ошибке.

Причины

Увеличение или уменьшение числа обычных подключений пользователей к серверу может указывать на неполадку в SQL Server или некоторой сетевой инфраструктуре.

Решения

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

Предупреждения SQL

Проверьте собранные ключевые показатели производительности SQL:

Производительность SQL

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.TwoStateAboveBaseliningMonitorWithoutCompression
RemotableTrue
AccessibilityPublic
Alert Message
Чрезмерное число подключений пользователей SQL
Чрезмерное число соединений пользователей SQL для экземпляра {0}, запущенного на компьютере {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.DBEngine.UserConnectionsBaselineMonitor" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.TwoStateAboveBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.DBEngine.UserConnectionsBaselineMonitor.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="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="BelowNormal" MonitorTypeStateID="Below" HealthState="Success"/>
<OperationalState ID="AboveNormal" MonitorTypeStateID="Above" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SignatureID>{D56436DB-41F0-4958-A8F0-9BC941674B4B}</SignatureID>
<DataSourceSettings>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ObjectName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:General Statistics</ObjectName>
<CounterName>User Connections</CounterName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Week</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>3</Offset1>
<Offset2>3</Offset2>
<Offset3>3</Offset3>
<LearningRate>2.3333333333333335</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>300</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>