Partager via


Mettre en cache des jeux de données partagés (SSRS)

Les résultats des requêtes pour un jeu de données partagé peuvent être copiés dans un cache pour fournir des données cohérentes pour plusieurs rapports et améliorer le temps de réponse pour la requête de jeu de données. Comme les rapports, vous pouvez configurer un jeu de données partagé à mettre en cache lors de la première utilisation ou en spécifiant une planification.

Un jeu de données partagé peut être inclus dans plusieurs rapports ou dans le cadre de définitions de composants. En mettant en cache le jeu de données partagé, vous fournissez un ensemble cohérent de données pour tous les rapports qui l’utilisent et réduisez également le nombre de fois où la requête de jeu de données s’exécute sur la source de données externe.

La liste suivante fournit des exemples de mise en cache d’un jeu de données partagé :

  • La requête prend beaucoup de temps à s’exécuter.

  • La requête prend des paramètres, mais la plupart du temps, le nombre de combinaisons de paramètres est petit. Chaque combinaison crée des résultats de requête mis en cache.

  • La requête s'exécute à des moments prévisibles du jour, de la semaine ou du mois.

  • La requête s’exécute à la suite d’une référence de jeu de données partagée dans un rapport. Ce rapport est remis par e-mail, où un grand nombre de personnes sont susceptibles de sélectionner le lien dans un court intervalle de temps.

La liste suivante fournit des exemples de non-mise en cache d’un jeu de données partagé :

  • Les résultats de la requête doivent toujours inclure les données les plus récentes.

  • La requête s’exécute rapidement.

  • La requête s’exécute rarement.

  • La requête accepte des paramètres, le nombre de combinaisons de paramètres est volumineux et aucune combinaison n’est plus probable qu’une autre.

  • La source de données sur laquelle se base le jeu de données partagé utilise des informations d'identification par invite ou une authentification intégrée à Windows.

  • Le filtre de jeu de données partagé ou la requête contient une expression avec une référence à la collection globale User.

Si un utilisateur choisit des valeurs de paramètre de rapport qui diffèrent des valeurs par défaut spécifiées pour le jeu de résultats mis en cache, la requête de jeu de données s’exécute activement. Dans ce cas, les résultats mis en cache ne sont pas utilisés pour cette requête.

Mettre en cache des jeux de données partagés

Pour activer la mise en cache d’un jeu de données partagé, vous devez sélectionner l’option de cache sur le jeu de données partagé. Une fois la mise en cache activée, les résultats de la requête pour un jeu de données partagé sont copiés dans le cache lors de la première utilisation. Si le jeu de données partagé a des paramètres, chaque combinaison de paramètres crée une entrée dans le cache.

Bien que les résultats de la requête pour une combinaison de paramètres spécifique se trouvent dans le cache, chaque rapport lancé pour le traitement et qui inclut une référence au jeu de données partagé avec ces valeurs de paramètres utilise les données mises en cache.

Vous pouvez spécifier la durée de conservation des données dans le cache avant son expiration. Pour plus d’informations, consultez Utiliser des jeux de données partagés.

Précharger le cache

Vous pouvez précharger le cache en créant un plan d’actualisation du cache. Avec un plan d’actualisation, vous pouvez spécifier la fréquence à laquelle actualiser le cache à l’aide d’une planification spécifique à un élément ou d’une planification partagée. Pour éviter plusieurs entrées de cache pour le même élément, la planification que vous spécifiez doit permettre suffisamment de temps pour le traitement des requêtes sur la source de données externe. Par exemple, si la requête prend 20 minutes pour s’exécuter, la planification d’actualisation doit être supérieure à 20 minutes. Pour plus d’informations, consultez Planifications.

Pour créer un plan d’actualisation du cache pour un jeu de données partagé, les conditions suivantes s’appliquent.

  • Le jeu de données partagé doit être activé pour la mise en cache.

  • La source de données partagée dont dépend le jeu de données partagé ne peut pas utiliser les informations d'identification basées sur des invites ou intégrées à Windows.

  • Si le jeu de données partagé a des paramètres, vous devez spécifier des valeurs par défaut statiques pour chaque paramètre qui n’est pas marqué en lecture seule. Les paramètres en lecture seule utilisent toujours la valeur par défaut. Pour mettre en cache un jeu de données partagé pour plusieurs combinaisons de paramètres, vous devez créer un plan d’actualisation du cache distinct pour chaque combinaison de valeurs. Les paramètres ne peuvent pas contenir de références à d’autres jeux de données.

  • Chaque plan d’actualisation du cache n’est associé qu’à un seul jeu de données ou rapport partagé.

  • Vous devez avoir les autorisations ReadPolicy et UpdatePolicy sur le jeu de données partagé.

Les plans d’actualisation du cache s’appliquent aux jeux de données partagés et aux rapports. Pour plus d’informations, consultez Mettre en cache les rapports (SSRS).

Conditions qui provoquent l’expiration du cache

Les conditions suivantes peuvent entraîner l’absence de validité d’un cache de jeu de données partagé.

  • Une condition de planification expire. Le cache expire ou l'heure d'expiration est atteinte.

  • Une planification partagée est supprimée.

  • Modifications apportées à une planification partagée. Les planifications partagées peuvent être suspendues, ce qui affecte également l’expiration d’un cache.

  • La définition de la requête pour le jeu de données partagé change.

  • Les informations d’identification de la source de données partagée, dont dépend le jeu de données partagé, changent.

  • Les options de cache du jeu de données partagé changent.

  • Les valeurs par défaut des paramètres en lecture seule pour le jeu de données partagé changent.

  • Les filtres qui font partie de la définition du jeu de données partagé changent.

  • Le jeu de données partagé est supprimé du serveur de rapports. Lorsqu’un jeu de données partagé est supprimé, les copies mises en cache associées et les plans d’actualisation du cache sont également supprimés.

Les mises à jour des plans d’actualisation du cache pour les jeux de données partagés n’affectent pas les rapports déjà traités. La mise à jour d’un plan d’actualisation du cache affecte uniquement les lancements futurs de rapports qui référencent le jeu de données partagé.