MSSQL 2016: se ha cancelado la consulta porque el costo estimado de esta consulta supera el umbral configurado. Consulte al administrador del sistema

Microsoft.SQLServer.2016.The_query_has_been_canceled_because_the_estimated_cost_of_this_query_exceeds_the_configured_threshold._Contact_the_system_administrator_1_5_Rule (Rule)

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.

Knowledge Base article:

Resumen

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.

Soluciones

Cualquiera de las siguientes acciones evitará que se produzca el mensaje para esta consulta:

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

Habilita o deshabilita el flujo de trabajo.

Prioridad

Define la prioridad de la alerta.

1

Gravedad

Define la gravedad de la alerta.

1

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID8649
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: se ha cancelado la consulta porque el costo estimado de esta consulta supera el umbral configurado. Consulte al administrador del sistema
{0}
Event LogApplication
CommentMom2016ID='{74138FB8-4CBA-480B-82D1-C5456A38AA4A}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2016.The_query_has_been_canceled_because_the_estimated_cost_of_this_query_exceeds_the_configured_threshold._Contact_the_system_administrator_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{74138FB8-4CBA-480B-82D1-C5456A38AA4A}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8649</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.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>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>