Monitora a configuração Atualizar Estatísticas Automaticamente para o banco de dados. Observação: este monitor é desabilitado por padrão. Use substituições para habilitá-lo quando necessário.
Este monitor verifica a configuração Atualizar Estatísticas Automaticamente deste banco de dados. Como este monitor é parte de um requisito de padrões gerais, um alerta será gerado se a configuração não atender ao padrão especificado.
O otimizador de consulta precisa de estatísticas atualizadas e exatas para gerar bons planos. Na maioria dos casos, convém permitir que o SQL Server mantenha a estatística. Se você ativar “Criação Automática de Estatísticas” e “Atualização Automática de Estatísticas”, caberá a você manter a estatística atualizada. Se isso não for feito, a consulta terá baixo desempenho. A maioria dos aplicativos deve ter essas opções definidas como ON.
Quando a configuração Atualizar Estatísticas Automaticamente estiver ON, o otimizador de consulta atualizará as estatísticas quando elas forem usadas por uma consulta e quando houver a possibilidade de estarem desatualizadas. As estatísticas ficam desatualizadas depois que operações de inserção, de atualização, de exclusão ou de mesclagem alteram a distribuição de dados na tabela ou na exibição indexada. O otimizador de consulta determina quando as estatísticas podem estar desatualizadas contando o número de modificações de dados desde a última atualização das estatísticas e comparando o número de modificações com um limite. O limite é baseado no número de linhas na tabela ou na exibição indexada. O otimizador de consulta verifica as estatísticas desatualizadas antes de compilar uma consulta e antes de executar um plano de consulta em cache. Antes de compilar uma consulta, o otimizador de consulta usa as colunas, as tabelas e as exibições indexadas no predicado da consulta para determinar quais estatísticas podem estar desatualizadas. Antes de executar um plano de consulta em cache, o Mecanismo de Banco de Dados verifica se o plano de consulta faz referência a estatísticas atualizadas. A opção AUTO_UPDATE_STATISTICS aplica-se às estatísticas criadas para índices, para colunas únicas em predicados de consulta e para estatísticas criadas usando a instrução CREATE STATISTICS. Essa opção também se aplica às estatísticas filtradas.
AUTO_UPDATE_STATISTICS {ON | OFF}
Um alerta de aviso será gerado se a opção não corresponder à configuração necessária. Por padrão, o monitor está configurado para alertar quando essa configuração estiver definida como “OFF”.
Este problema pode ser resolvido da seguinte maneira:
Alterar a configuração para este banco de dados para coincidir com o valor esperado.
Substituindo o valor esperado para este monitor de unidade para esse banco de dados específico ou todos os bancos de dados.
Como alternativa, se esse monitor não for preocupante para esse banco de dados:
Desabilitando esse monitor usando substituições para este banco de dados específico ou para todos os bancos de dados.
Desabilitando o monitor de configuração agregado de alto nível usando substituições para este banco de dados específico ou para todos os bancos de dados.
Consulte informações mais detalhadas sobre esta configuração: Opções ALTER DATABASE SET (Transact-SQL)
Consulte também “ Usando estatísticas para melhorar o desempenho da consulta”
Nome | Descrição | Valor Padrão |
Prioridade do Alerta | Define a Prioridade do Alerta. | Normal |
Severidade do Alerta | Define a Severidade do Alerta. | Aviso |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Não |
Valor Esperado | O valor esperado da configuração de banco de dados. Para exibir o conjunto de valores aplicáveis, consulte a seção "Configuração" do artigo da base de dados de conhecimento deste monitor. | LIGAR |
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. | 43.200 |
Tempo de Sincronização | O tempo de sincronização especificado usando um formato de 24 horas. Pode ser omitido. |
|
Tempo Limite (em segundos) | Especifica o tempo que o fluxo de trabalho pode para ser executado antes de ser fechado e marcado como falha. | 300 |
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.Windows.Database | ||
Parent Monitor | Microsoft.SQLServer.Windows.Rollup.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.Database.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Database.AutoUpdateStatConfiguration" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Microsoft.SQLServer.Windows.Rollup.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Database.AutoUpdateStatConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<ConfigName>AutoUpdateStat</ConfigName>
<ExpectedValue>ON</ExpectedValue>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>