O monitor alertará quando o tamanho da fila do pool de consulta para a instância do SSAS for maior do que o limite configurado.
O monitor alertará quando o tamanho da fila de trabalho do pool de consulta exceder o limite configurado. Colocar em fila pode indicar que algumas solicitações não podem ser executadas devido à espera por um thread livre do pool, mesmo que os trabalhos sejam executados e retornados rapidamente.
O esgotamento dos threads disponíveis do pool de consulta pode ocorrer por vários motivos, incluindo a definição incorreta das configurações do servidor afetando o pool ou a demanda anormalmente alta de usuários ou trabalhos agendados na instância.
Resolver esse alerta exige que os administradores compreendam e considerem vários fatores, incluindo, mas não se limitando, a requisitos da carga de trabalho, programações do usuário e de trabalho, outros processos agendados no computador servidor e os recursos disponíveis. As ações para solucionar a condição quando o tamanho da fila de trabalho do pool de consulta excede o limite configurado podem incluir várias das seguintes ações:
Modifique as definições da configuração do pool depois de revisar o Guia de Desempenho Multidimensional do SSAS para aumentar os threads disponíveis no pool de consulta. Isso não é aconselhável sem uma consideração muito cuidadosa e teste ou consultoria do Suporte da Microsoft.
Diminua a carga de trabalho na instância do SSAS ao reagendar trabalhos, modificar o design do banco de dados, restringir as consultas do usuário ou dividir a carga de trabalho para mover alguns trabalhos para outros servidores.
Aumente o número de threads disponíveis no pool aumentando o número de núcleos disponíveis no servidor, que aumenta dinamicamente o tamanho do pool.
Ajuste os limites configurados para o alerta para evitar a condição.
Desabilite totalmente o monitor se a fila do trabalho do pool de consulta não for uma preocupação no servidor.
Configurar propriedades do servidor no Analysis Services
Documentação TechNet para os Contadores de Desempenho do SSAS
Guia de Desempenho Multidimensional do SSAS
Nome | Descrição | Valor padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho | Sim |
Gerar Alertas | Define se o fluxo de trabalho gera um Alerta | Sim |
Intervalo em Segundos | O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho. | 900 |
Número de amostras | O Estado da Integridade mudará se o número de violações do limite for maior ou igual ao Número Mínimo de Violações. | 4 |
Hora da Sincronização | A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido. |
|
Limite de Aviso | O Estado de Integridade mudará se o contador de desempenho do Analysis Services exceder o limite. | 0 |
Tempo limite (segundos) | Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha. | 300 |
Target | Microsoft.SQLServer.2016.AnalysisServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Data/Context/Value$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<PerformanceCounterName>Query pool job queue length</PerformanceCounterName>
<CounterName>Query pool job queue length</CounterName>
<Threshold>0</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>