Duração Prevista da Página do Mecanismo de BD
A Duração Prevista da Página é o número de segundos que uma página permanecerá no pool de buffers sem referências. Uma duração prevista da página alta significa que os dados necessários poderão ser encontrados no cache em vez do disco rígido.
Valores de Duração Prevista da Página extremamente baixos podem ser uma indicação de:
Memória insuficiente no sistema
Memória insuficiente configurada para uso do SQL Server
Design inadequado de índice
Verifique o sistema de E/S para verificar como ele manipula a carga Se os valores dos contadores de Média de Leituras de Disco/s e de Média de Gravações de Disco/s do objeto PhysicalDisk estiverem altos (normalmente maior que 10 ms), significará que o sistema poderá estar sobrecarregado ou que existem oportunidades para melhora na consulta e no índice.
O pool de buffers pode estar sobrecarregado porque o SQL Server trabalha com grande quantidade de tabelas simultaneamente ou uma verificação completa é usada no lugar da pesquisa por critérios. Veja o contador SQL Server: Métodos de Acesso: Verificações Completas por Segundo para verificar o problema.
Você pode usar o SQL Server Profiler e procurar as Estatísticas de Plano de Execução na categoria Desempenho para encontrar um aplicativo que provoque a verificação completa.
Nome | Descrição | Valor Padrão |
Prioridade do Alerta | Define a Prioridade do Alerta. | Normal |
Severidade do Alerta | Define a Severidade do Alerta. | Erro |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Gera Alertas | Define se o fluxo de trabalho gera ou não um Alerta. | Sim |
Intervalo (segundos) | O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho. | 300 |
Número de amostras | Indica quantas vezes um valor medido deve romper um limite antes que o estado seja alterado. | 6 |
Tempo de Sincronização | O tempo de sincronização especificado usando um formato de 24 horas. Pode ser omitido. |
|
Limite | O valor coletado será comparado com esse parâmetro. | 300 |
Tempo Limite (em segundos) | Especifica o tempo que o fluxo de trabalho pode para ser executado antes de ser fechado e marcado como falha. | 200 |
Tempo limite da conexão de banco de dados (segundos) | O fluxo de trabalho falhará e registrará um evento, se ele não conseguir acessar o banco de dados durante o período especificado. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.DBEngine.PageLifeExpectancy | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.DBEngine.PageLifeExpectancy" Accessibility="Public" Enabled="false" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.DBEngine.PageLifeExpectancy" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.DBEngine.PageLifeExpectancy.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<Threshold>300</Threshold>
<NumSamples>6</NumSamples>
<TimeoutSeconds>200</TimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<PerformanceCounterObject>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
</Configuration>
</UnitMonitor>