0

J'ai tourné autour des cercles au cours des 2 derniers jours, essayant de trouver un problème dans l'environnement de nos clients. J'ai pensé que je pourrais aussi bien le poster ici, puisque Google m'a donné des informations très limitées sur le message d'erreur (5 résultats pour être exact).Erreur de dépassement de temps SSRS2005

L'erreur se résume à un délai d'attente lors de la demande d'un certain rapport dans SSRS2005, lorsqu'un certain paramètre est utilisé.

Le scénario de déploiement est: machine # 1 L'exécution des services d'information (SQL2005, W2K3, IIS6) machine # 2 Exécution de la base de données de datawarehouse (SQL2005, W2K3) qui est la source de données pour # 1 Les deux machines sont en cours d'exécution sur le même cluster vm et LAN. Le rapport demande un SP-let assez simple appelé sp (param $ a, param $ b). Lorsque demandé avec param $ a rempli, il s'exécute correctement. Lors de l'utilisation de param $ b, le délai expire après la fin du délai d'expiration global.

Si j'exécute la procédure stockée avec param $ b directement à partir de sql management studio sur # 2, les résultats sont parfaitement corrects (3-4s).

J'ai profilé la base de données de datawarehouse sur # 2 et lorsque param $ b est utilisé, la requête du service de rapports à la base de données n'atteint jamais # 2.

Le message d'erreur que je reçois sur le dépassement, lorsque vous utilisez param $ b, lors de l'appel du rapport directement à partir de l'interface Web SSRS est:

« Une erreur est survenue lors du traitement du rapport Impossible de lire les données suivantes. ligne pour l'ensemble de données DataSet Une erreur grave s'est produite sur la commande en cours, les résultats, le cas échéant, doivent être ignorés.

Le ExecutionLog pour le SSRS ne me donne beaucoup d'informations en plus le message d'erreur rsProcessingAborted

Je suis à court d'idées sur la façon de clouer ce problème. J'apprécierais donc beaucoup vos commentaires, suggestions ou idées.

Merci d'avance!

Répondre

2

La première chose à faire est de vous assurer que vos statistiques sont à jour.

(Cela ressemble à un cas de plan de requête incorrect utilisé en raison de parameter sniffing, comme décrit dans cette réponse SO: Parameter Sniffing (or Spoofing) in SQL Server). Un moyen de résoudre ce problème dans SQL Server 2005 consiste à utiliser l'indicateur de requête OPTIMIZE FOR. Voir aussi OPTIMIZE FOR query hint in SQL Server 2005

De même, avez-vous un travail de reconstruction d'index planifié régulier pour certains ou tous vos index?

+0

Vous avez à peu près cloué le problème avec votre message initial non édité :-) Le dw est manquant un plan d'entretien (le client maintient sa propre solution d'hébergement (ou manque de)). Après réindexation, le délai d'attente a disparu. Je vous remercie!! – jaspernygaard

+0

Heureux de vous aider. ... –