Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Interdire l’exécution de requêtes de plus de X secondes

Cette fonctionnalité existe depuis très longtemps dans SQL Server, elle permet de prévenir (la requête ne sera pas exécutée) les requêtes dont le temps d’exécution estimé dépasse le seuil spécifié.

 

Cela se paramètre avec l’option Query Gouvernor Limit :

 

  -- Soit au niveau serveur, pas de redémarrage nécessaire

 

  exec sp_configure 'show advanced options', 1

  reconfigure

  exec sp_configure 'query governor cost limit', 10

  reconfigure

  exec sp_configure 'show advanced options', 0

  reconfigure

 

  -- Soit au niveau de la connexion

 

  SET QUERY_GOVERNOR_COST_LIMIT 10

 

Le chiffre spécifié dans cette option est le seuil limite en seconde au-delà duquel la requête se trouvera refusé son exécution sur le serveur de base de données. Le temps estimé d’exécution de la requête est basé sur une machine qui a très vraisemblablement une configuration différente de la votre (c’est une machine de test Microsoft dont j’ignore la configuration), je ne saurais que trop vous conseiller de tester cette valeur avec quelques requêtes pour calibrer cette valeur en fonction de votre configuration.

 

Msg 8649, Level 17, State 1, Line 4

The query has been canceled because the estimated cost of this query (1090057) exceeds the configured threshold of 10. Contact the system administrator.

 

Autre point positif avec SQL Server 2008, il est possible de définir cette valeur par Pool d’utilisateur grâce au Resource Gouvernor. Il devient possible choisir le seuil en fonction du type d’application. Par exemple 0 pour les batchs (désactivé si 0), 10 pour les développeurs en production, 60 pour l’application, etc.

 

L’effet au final c’est que vous avez moins de risque de dégrader les performances sur du long terme à cause de requêtes mal optimisées ou trop gourmande.

 

Bonne limite…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié jeudi 24 avril 2008 18:08 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- ssdl view et TPT par Matthieu MEZIL le 07-05-2008, 02:04

- L'injection SQL n'est PAS un problème QUE pour les développeurs web ! par CoqBlog le 07-05-2008, 01:08

- Un outil pour réaliser des animations WPF basées sur des équations de Bézier par Perspective le 07-04-2008, 21:45

- Sandcastle et CodePlex : le verdict par CoqBlog le 07-04-2008, 20:53

- ssdl view et TPH par Matthieu MEZIL le 07-04-2008, 19:12

- Webcasts sur le Parallel Framework disponibles par Matthieu MEZIL le 07-04-2008, 17:26

- [Silverlight] - Comprendre et Débuter avec Silverlight par Danuz le 07-04-2008, 12:41

- SharePoint : Nouvel article sur l'exportation et Importation de sites SharePoint par Blog Technique de Romelard Fabrice le 07-04-2008, 01:00

- ImagineCup 2008 Final in Paris: Day 1 par Richard Clark le 07-03-2008, 22:48

- PowerShell : Comment utiliser un ENUM .NET dans un script PowerShell par Blog Technique de Romelard Fabrice le 07-03-2008, 18:09