Configurazione aggiornamento automatico asincrono statistiche

Microsoft.SQLServer.2008.Database.Configuration.AutoUpdateStatAsync (UnitMonitor)

Controlla l'impostazione di aggiornamento automatico asincrono statistiche per il database

Knowledge Base article:

Riepilogo

Questo monitoraggio controlla l'impostazione Aggiornamento automatico asincrono statistiche per il database. Poiché tale monitoraggio appartiene a requisiti standard complessivi, se l'impostazione non corrisponde allo standard specificato verrà generato un avviso.

Configurazione

Se l'opzione Aggiornamento automatico asincrono statistiche è impostata su ON, gli aggiornamenti delle statistiche per l'opzione AUTO_UPDATE_STATISTICS saranno asincroni. Query Optimizer non attende il completamento degli aggiornamenti delle statistiche per compilare le query. L'impostazione di questa opzione su ON non produce alcun effetto, a meno che AUTO_UPDATE_STATISTICS non sia impostata su ON.

AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}

Cause

Se l'impostazione dell'opzione non corrisponde a quella richiesta, verrà generato un messaggio di avviso. Il monitoraggio è configurato per generare un avviso quando il valore di questa impostazione è "ON".

L'impostazione predefinita di questa opzione di database corrisponde a OFF in modo da garantire la compatibilità con le versioni precedenti per le applicazioni esistenti. Poiché le query non vengono bloccate né rimangono in attesa di aggiornamenti delle statistiche, è possibile che si verifichino variazioni temporanee nelle prestazioni quando una query viene compilata ed eseguita con statistiche meno recenti. Dopo l'aggiornamento delle statistiche, sarà possibile ricompilare la stessa query in base alle statistiche aggiornate prima della successiva esecuzione. Durante l'aggiornamento delle statistiche, potrebbero tuttavia verificarsi problemi di prestazioni momentanei della query in quanto compilata in base a statistiche meno recenti.

L'aggiornamento asincrono costituisce probabilmente la scelta ideale per la maggior parte delle applicazioni, poiché consente di ridurre al minimo i tempi di blocco e di attesa generali. Valutare l'opportunità di impostare l'opzione su ON e, se risulta appropriato per l'applicazione in uso, disabilitare questo monitoraggio unità.

Soluzioni

Per risolvere il problema, effettuare una delle operazioni seguenti:

In alternativa, se il monitoraggio non rappresenta un problema per il database, effettuare una delle operazioni seguenti:

Risorse esterne

Per ulteriori informazioni su questa impostazione, vedere Opzioni ALTER DATABASE SET (Transact-SQL)

Vedere anche " Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query"

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.AutomaticConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
Errore di configurazione aggiornamento automatico asincrono statistiche
L'impostazione di aggiornamento automatico asincrono statistiche per il database "{0}" nell'istanza di SQL Server "{1}" sul computer "{2}" non è configurata in base alla procedura consigliata.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.Configuration.AutoUpdateStatAsync" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.Configuration.AutoUpdateStatAsync.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>AutoUpdateAsyncStat</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>