データベースの統計の非同期的自動更新の設定を監視します。
このモニターは、このデータベースの [統計の非同期的自動更新] 設定を確認します。Since this monitor is a part of an overall standards requirement, an alert would be generated if the setting does not meet the specified standard.
[統計の非同期的自動更新] 設定を ON にすると、AUTO UPDATE STATISTICS オプションの統計の更新が非同期になります。クエリ オプティマイザーは、統計の更新が完了するのを待たずにクエリをコンパイルします。AUTO_UPDATE_STATISTICS が ON に設定されていなければ、このオプションを ON に設定しても、効果はありません。
AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}
A warning alert will be raised if the option does not match the required setting.Out of the box, the monitor is configured to alert when this setting is set to “ON”.
このデータベース オプションが既定で OFF になっているのは、既存のアプリケーションとの後方互換性のためです。クエリは統計情報の更新を待機またはブロックしないため、クエリが古い統計情報に対してコンパイルおよび実行する場合に、パフォーマンスの一時的な変更が可能です。統計情報の更新が完了すると、次回の実行の前に、更新された統計情報に対して同じクエリが再コンパイルされます。ただし、古い統計情報に対してコンパイルされているために、統計情報の更新中、クエリに瞬間的なパフォーマンスの問題が発生する可能性があります。
ほとんどのアプリケーションでは、ブロックと待機を全体的に最小化する ASYNC 更新がおそらく最良の選択肢です。ON に設定することを検討してください。お使いのアプリケーションでうまく動作する場合は、このユニット モニターを無効にしてください。
This issue may be resolved by:
Changing the configuration setting for this database to match the expected value.
Overriding the expected value for this unit monitor for this specific database or all databases.
Alternatively, if this monitor is not of concern for this database:
Disabling the monitor using overrides for this specific database or all databases.
Disabling the top-level aggregate configuration monitor using overrides for this specific database or all databases.
See more detailed information about this setting: ALTER DATABASE SET Options (Transact-SQL)
See also “ Using Statistics to Improvement Query Performance”
Target | Microsoft.SQLServer.2005.Database | ||
Parent Monitor | Microsoft.SQLServer.2005.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2005.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2005.Database.Configuration.AutoUpdateStatAsync" Accessibility="Public" Enabled="false" Target="SQL2005Core!Microsoft.SQLServer.2005.Database" ParentMonitorID="Microsoft.SQLServer.2005.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2005.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.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>