Le paramètre de configuration de l'option de limite de coût de l'Administrateur de requêtes est inférieur au coût estimé par l'optimiseur SQL Server pour la requête spécifiée. Par défaut, la valeur 0 est affectée à l'option, ce qui autorise l'exécution de toutes les requêtes. Toutefois, sur cette instance de SQL Server, une limite supérieure a été spécifiée en affectant à l'option un nombre supérieur à 0. Les plans de requêtes ayant un coût estimé supérieur à cette valeur ne sont pas démarrés.
Le paramètre de configuration de l’option de limite de coût (query governor cost limit) de l’Administrateur de requêtes est inférieur au coût estimé par l’optimiseur SQL Server pour la requête spécifiée. Par défaut, la valeur 0 est affectée à l’option query governor cost limit, ce qui autorise l’exécution de toutes les requêtes. Toutefois, sur cette instance de SQL Server, une limite supérieure a été spécifiée en affectant à l’option un nombre supérieur à 0. Les plans de requêtes ayant un coût estimé supérieur à cette valeur ne sont pas démarrés.
Pour plus d'informations, consultez « Option query governor cost limit », « Procédure de définition de la limite de coût de l'administrateur de requêtes (Enterprise Manager) » et « Recommandations pour le paramétrage des requêtes » dans la documentation en ligne.
Chacune des actions suivantes empêchera le message de s’afficher pour cette requête :
Paramétrez la requête afin de réduire le temps d’exécution estimé sous la valeur limite.
Assurez-vous que les statistiques sont à jour sur les tables et index référencés par la requête. Vous devrez peut-être exécuter UPDATE STATISTICS ou DBCC DBREINDEX.
Affectez à l'option de limite de coût de l'Administrateur de requêtes sa valeur par défaut, c'est-à-dire 0. Ceci permet l'exécution de toutes les requêtes.
Augmentez l'option de limite de coût de l'Administrateur de requêtes à une valeur supérieure au nombre de secondes estimé pour l'exécution de cette requête.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Intervalle (en secondes) | Intervalle régulier (en secondes) auquel exécuter le flux de travail. | 300 |
Priorité | Définit la priorité de l'alerte. | 1 |
Severité | Définit la gravité de l'alerte. | 1 |
Heure de synchronisation | Heure de synchronisation |
|
Délai d'expiration (secondes) | Spécifie la durée pendant laquelle le flux de travail est autorisé à s’exécuter avant d’être fermé et marqué comme ayant échoué. | 200 |
Délai d’attente pour la connexion de base de données (secondes) | Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée. | 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>