쿼리 관리자 비용 제한 옵션에 대한 구성 설정이 지정한 쿼리에 대해 SQL Server 최적화 프로그램이 예상한 비용보다 낮습니다. 기본적으로 쿼리 관리자 비용 제한 옵션은 0으로 설정되며 이를 통해 모든 쿼리를 실행할 수 있습니다. 그러나 이 SQL Server 인스턴스에서는 옵션이 0보다 큰 수로 설정되어 상한이 지정되었습니다. 예상되는 비용이 이 값보다 큰 쿼리 계획은 시작되지 않습니다.
쿼리 관리자 비용 제한 옵션에 대한 구성 설정이 지정한 쿼리에 대해 SQL Server 최적화 프로그램이 예상한 비용보다 낮습니다. 기본적으로 쿼리 관리자 비용 제한 옵션은 0으로 설정되며 이를 통해 모든 쿼리를 실행할 수 있습니다. 그러나 이 SQL Server 인스턴스에서는 옵션이 0보다 큰 수로 설정되어 상한이 지정되었습니다. 예상되는 비용이 이 값보다 큰 쿼리 계획은 시작되지 않습니다.
자세한 내용은 온라인 설명서의 "쿼리 관리자 비용 제한 옵션", "쿼리 관리자 비용 제한 옵션 설정 방법(엔터프라이즈 관리자)" 및 "쿼리 튜닝 권장 사항"을 참조하십시오.
다음 작업 중 하나를 수행하면 이 쿼리에 대해 메시지가 발생하지 않습니다.
쿼리를 튜닝하여 예상 실행 시간을 제한 값 아래로 줄이십시오.
쿼리가 참조하는 테이블과 인덱스에서 통계가 최신 날짜인지 확인합니다. UPDATE STATISTICS 또는 DBCC DBREINDEX를 실행해야 할 수 있습니다.
쿼리 관리자 비용 제한 옵션을 다시 기본값인 0으로 설정하십시오. 이렇게 하면 모든 쿼리를 실행할 수 있습니다.
쿼리 관리자 비용 제한 옵션을 이 쿼리를 실행하기 위해 예상된 시간(초)보다 큰 값으로 올리십시오.
이름 | 설명 | 기본값 |
사용 | 워크플로를 사용하거나 사용하지 않도록 설정합니다. | 예 |
간격(초) | 워크플로를 실행하는 반복 시간 간격(초)입니다. | 300 |
우선 순위 | 알림 우선 순위를 정의합니다. | 1 |
심각도 | 알림 심각도를 정의합니다. | 1 |
동기화 시간 | 동기화 시간 |
|
시간 제한(초) | 여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다. | 200 |
데이터베이스 연결 시간 제한(초) | 워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{74138FB8-4CBA-480B-82D1-C5456A38AA4A}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.The_query_has_been_canceled_because_the_estimated_cost_of_this_query_exceeds_the_configured_threshold._Contact_the_system_administrator_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{74138FB8-4CBA-480B-82D1-C5456A38AA4A}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<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>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8649</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.The_query_has_been_canceled_because_the_estimated_cost_of_this_query_exceeds_the_configured_threshold._Contact_the_system_administrator_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>