데이터베이스에 대한 통계를 비동기적으로 자동 업데이트 설정을 모니터링합니다.
이 모니터는 이 데이터베이스에 대한 통계를 비동기적으로 자동 업데이트 설정을 확인합니다. 이 모니터는 전체 표준 요구 사항에 포함되므로 설정이 지정된 표준과 맞지 않으면 경고가 발생합니다.
통계를 비동기적으로 자동 업데이트 설정이 ON이면 AUTO_UPDATE_STATISTICS 옵션에 대한 통계 업데이트를 비동기로 지정합니다. 쿼리 최적화 프로그램은 쿼리를 컴파일하기 전에 통계 업데이트가 완료될 때까지 기다리지 않습니다. 이 옵션을 ON으로 설정해도 AUTO_UPDATE_STATISTICS가 ON으로 설정되어 있지 않으면 영향을 주지 않습니다.
AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}
이 옵션이 필요한 설정과 일치하지 않으면 경고가 발생합니다. 기본적으로 이 모니터는 이 설정이 “ON”으로 설정될 때 경고를 발생시키도록 구성되어 있습니다.
이 데이터베이스 옵션은 기존 응용 프로그램과의 호환성을 위해 기본적으로 OFF로 설정되어 있습니다. 쿼리는 통계 업데이트를 기다리거나 차단하지 않으므로 쿼리가 이전 통계로 컴파일 및 실행되는 경우 성능이 일시적으로 변경될 수 있습니다. 통계의 업데이트가 완료된 후에는 다음 실행 전에 같은 쿼리가 업데이트된 통계에 대해 다시 컴파일됩니다. 그러나 통계가 업데이트 중일 때는 쿼리가 이전 통계에 대해 컴파일되었으므로 쿼리에 일시적으로 성능 문제가 발생할 수 있습니다.
전반적으로 차단 및 대기를 최소화하는 ASYNC 업데이트가 대부분의 응용 프로그램에 가장 적합합니다. ASYNC 업데이트 옵션을 ON으로 설정하고 응용 프로그램에 맞으면 이 유닛 모니터를 비활성화하십시오.
이 문제는 다음을 수행하여 해결할 수 있습니다.
예상 값과 일치하도록 이 데이터베이스의 구성 설정 변경
이 특정 데이터베이스 또는 모든 데이터베이스에 대한 이 단위 모니터의 예상 값 재정의
또는 이 데이터베이스에서 이 모니터가 별로 중요하지 않을 경우 다음을 수행합니다.
이 특정 데이터베이스 또는 모든 데이터베이스에 대한 재정의를 사용하여 모니터 비활성화
이 특정 데이터베이스 또는 모든 데이터베이스에 대한 재정의를 사용하여 최상위 집계 구성 모니터 비활성화
이 설정에 대한 자세한 내용은 다음을 참조하세요. ALTER DATABASE SET 옵션(Transact-SQL)
" 통계를 사용하여 쿼리 성능 향상”도 참조하세요.
이름 | 설명 | 기본값 |
알림 우선 순위 | 알림 우선 순위를 정의합니다. | 보통 |
알림 심각도 | 알림 심각도를 정의합니다. | 경고 |
SQL Express 검사 사용 안 함 | SQL Express 버전 확인을 사용하거나 사용하지 않도록 설정합니다. | 아니요 |
사용 | 워크플로를 사용하거나 사용하지 않도록 설정합니다. | 아니요 |
예상 값 | 가능한 값 집합을 보려면 이 모니터의 정보에서 "구성" 섹션을 참조하세요. | 끄기 |
알림 생성 | 워크플로가 알림을 생성하는지를 정의합니다. | 예 |
간격(초) | 워크플로를 실행하는 반복 시간 간격(초)입니다. | 43200 |
제한 시간(초) | 워크플로가 닫히고 실패한 항목으로 표시될 때까지 실행이 허용되는 시간을 지정합니다. | 300 |
Target | Microsoft.SQLServer.2012.Database | ||
Parent Monitor | Microsoft.SQLServer.2012.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.Database.Configuration.AutoUpdateStatAsync" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="Microsoft.SQLServer.2012.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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>