El valor de configuración de la opción query governor cost limit es inferior al costo que el optimizador de SQL Server ha estimado para la consulta especificada. De forma predeterminada, la opción query governor cost limit se ha establecido en 0, lo que permite que se ejecuten todas las consultas. No obstante, en esta instancia de SQL Server se ha especificado un límite superior al definir la opción en un número mayor que 0. Los planes de consulta con un costo previsto superior a este valor no se inician.
El valor de configuración de la opción Límite de costo de regulador de consultas es inferior al costo que el optimizador de SQL Server ha estimado para la consulta especificada. De forma predeterminada, la opción Límite de costo de regulador de consultas se ha establecido en 0, lo que permite que se ejecuten todas las consultas. No obstante, en esta instancia de SQL Server se ha especificado un límite superior al definir la opción en un número mayor que 0. Los planes de consulta con un costo previsto superior a este valor no se inician.
Para obtener más información, vea los temas sobre la opción query governor cost limit, cómo configurar dicha opción (Administrador corporativo) y las recomendaciones para la optimización de consultas en los Libros en pantalla.
Cualquiera de las siguientes acciones evitará que se produzca el mensaje para esta consulta:
Ajuste la consulta para reducir el tiempo de ejecución estimado por debajo del valor del límite.
Compruebe que las estadísticas estén actualizadas en las tablas e índices a los que hace referencia la consulta. Es posible que necesite ejecutar UPDATE STATISTICS o DBCC DBREINDEX.
Vuelva a establecer la opción query governor cost limit en el valor predeterminado 0. Esto permitirá que se ejecuten todas las consultas.
Aumente la opción query governor cost limit a un valor superior al número de segundos estimado para que se ejecute esta consulta.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 300 |
Prioridad | Define la prioridad de alerta. | 1 |
Gravedad | Define la gravedad de alerta. | 1 |
Hora de sincronización | Hora de sincronización |
|
Tiempo de espera (segundos) | Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 200 |
Tiempo de expiración de la conexión de base de datos (segundos) | Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado. | 15 |
Target | Microsoft.SQLServer.Linux.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.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.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="SqlDiscL!Microsoft.SQLServer.Linux.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.Linux.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>
<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.Linux.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>