Rapport SSRS TRÈS LENT en prod, mais la requête SQL s'exécute RAPIDEMENT

J'ai passé des heures à la résolution de ce et j'ai besoin d'une nouvelle perspective . . .

Nous avons un état relativement simple de configuration de SSRS, simple tableau avec des colonnes sur le dessus et les points de données. La requête SQL derrière le rapport est "moyen" de la complexité -- a des sous-requêtes et de plusieurs jointures, mais rien de réel fou.

Rapport a bien fonctionné pendant des mois, et est récemment devenu très lent. Comme, de 15 à 20 minutes pour générer le rapport. J'ai peut-clip-et-collez la requête SQL à partir du Concepteur de Rapports dans SQL Mgmt Studio, remplacer les variables nécessaires, et il ruturns résultats en moins de 2 secondes. Je suis même allé jusqu'à utiliser le générateur de profils SQL pour obtenir les exacte requête qui SSRS est en cours d'exécution, et de couper et de coller ça dans Mgmt Studio, toujours la même chose, sous-second les résultats. Les paramètres et plages de dates spécifiée ne pas faire de différence, je peux régler les paramètres de retour d'un petit ensemble de données (< 100 lignes) ou un énorme un (> 10 000 lignes) et toujours les mêmes résultats; super-rapide de Mgmt Studio mais 20 minutes pour générer le rapport SSRS.

De dépannage que j'ai essayé jusqu'à présent:
Supprimé et re-déployé le rapport de SSRS.
Testé dans l'IDE de Visual Studio sur plusieurs machines et sur le serveur SSRS, à la même vitesse (~20 minutes), les deux lieux
Utilisé le générateur de profils SQL pour surveiller le SPID exécution du rapport, capturé toutes les instructions SQL en cours d'exécution, et de les essayé individualy (et ensemble) dans Mgmt Studio -- roule vite en Mgmt Studio (< 2 secondes)
Surveiller les performances du serveur lors de l'exécution du rapport. Le processeur est vachement martelé pendant les 20 minutes de la génération de rapports, d'I/O disque est légèrement au-dessus de référence

OriginalL'auteur user1634579 | 2012-11-02