Mettre en cache les datasets partagés (SSRS)Cache Shared Datasets (SSRS)

Les résultats de la requête pour un dataset partagé peuvent être copiés vers un cache afin de fournir des données cohérentes pour plusieurs rapports et améliorer le temps de réponse pour la requête de dataset.Query results for a shared dataset can be copied to a cache to provide consistent data for multiple reports and to improve response time for the dataset query. Comme pour les rapports, vous pouvez configurer un dataset partagé à mettre en cache lors de la première utilisation ou en spécifiant une planification.Like reports, you can configure a shared dataset to be cached on first use or by specifying a schedule.

Un dataset partagé peut être inclus dans plusieurs rapports ou dans le cadre de définitions de composant.A shared dataset can be included in multiple reports or as part of component definitions. En mettant en cache le dataset partagé, vous fournissez un jeu cohérent de données pour tous les rapports qui l'utilisent, et vous réduisez également le nombre d'exécution de la requête de dataset par rapport à la source de données externe.By caching the shared dataset, you provide a consistent set of data for all reports that use it, and also reduce the number of times that the dataset query runs against the external data source.

La liste suivante fournit des exemples de situations dans lesquelles il convient de mettre en cache un dataset partagé :The following list provides examples of when to cache a shared dataset:

  • La requête met longtemps à s'exécuter.The query takes a substantial amount of time to run.

  • La requête accepte des paramètres, mais la plupart du temps, le nombre de combinaisons de paramètres est réduit.The query takes parameters, but most of the time, the number of parameter combinations is small. Chaque combinaison crée des résultats de requête mis en cache.Each combination creates cached query results.

  • La requête s'exécute à des heures prédictibles du jour, de la semaine ou du mois.The query runs at predictable times of the day, week, or month.

  • La requête s'exécute comme le résultat d'une référence de dataset partagé dans un rapport remis via la messagerie électronique, où un grand nombre de personnes sont susceptibles de cliquer sur le lien dans une courte plage horaire.The query runs as the result of a shared dataset reference in a report that is delivered via e-mail, where a large number of people are likely to click the link in a short span of time.

    La liste suivante fournit des exemples de situations dans lesquelles il ne convient pas de mettre en cache un dataset partagé :The following list provides examples of when not to cache a shared dataset:

  • Les résultats de la requête doivent toujours inclure les données les plus récentes.The query results must always include the most recent data.

  • La requête s'exécute rapidement.The query runs quickly.

  • La requête s'exécute peu souvent.The query runs infrequently.

  • La requête accepte des paramètres, le nombre de combinaisons de paramètres est élevé, et aucune combinaison n'est plus probable qu'une autre.The query takes parameters, the number of parameter combinations is large, and no combination is more likely than another.

  • La source de données sur laquelle est basé le dataset partagé a une Invite ou des informations d'identification intégrées de Windows.The data source that the shared dataset is based on has Prompt or Windows Integrated credentials.

  • Le filtre de dataset partagé ou la requête contient une expression avec une référence à la collection globale Utilisateur.The shared dataset filter or the query contains an expression with a reference to the global collection 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 dataset s'exécute activement et les résultats mis en cache ne sont pas utilisés pour cette requête.If a user chooses report parameter values that differ from the default values that are specified for the cached result set, the dataset query runs actively and the cached results are not used for that query.

Mise en cache des datasets partagésCaching Shared Datasets

Pour activer la mise en cache pour un dataset partagé, vous devez sélectionner l'option de cache sur le dataset partagé.To enable caching for a shared dataset, you must select the cache option on the shared dataset. Une fois la mise en cache activée, les résultats de la requête pour un dataset partagé sont copiés vers le cache lors de la première utilisation.After caching is enabled, the query results for a shared dataset are copied to the cache on first use. Si le dataset partagé a des paramètres, chaque combinaison de paramètres crée une entrée dans le cache.If the shared dataset has parameters, each combination of parameters creates a new entry in the cache.

Pendant que les résultats de la requête pour une combinaison de paramètres spécifique sont dans le cache, chaque rapport lancé pour le traitement et qui inclut une référence au dataset partagé avec ces valeurs de paramètre utilisera les données en mémoire cache.While the query results for a specific parameter combination are in the cache, each report that is launched for processing and that includes a reference to the shared dataset with those parameter values will use the cached data.

Vous pouvez spécifier la durée pendant laquelle conserver les données dans le cache avant leur expiration.You can specify how long to keep data in the the cache before it expires. Pour plus d’informations, consultez Page Mise en cache, datasets partagés (Gestionnaire de rapports).For more information, see Caching Page, Shared Datasets (Report Manager).

Préchargement du cachePreloading the Cache

Vous pouvez précharger le cache en créant un plan d'actualisation du cache.You can preload the cache by creating a cache refresh plan. Avec un plan d'actualisation, vous pouvez spécifier la fréquence d'actualisation du cache à l'aide d'une planification spécifique par élément ou d'une planification partagée.With a refresh plan, you can specify how often to refresh the cache by using an item-specific schedule or a shared schedule. Pour éviter qu'il y ait plusieurs entrées du 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.To avoid multiple cache entries for the same item, the schedule that you specify should allow enough time for query processing on the external data source. Par exemple, si la requête prend 20 minutes pour s'exécuter, la planification d'actualisation doit être supérieure à 20 minutes.For example, if the query takes 20 minutes to run, the refresh schedule should be greater than 20 minutes. Pour plus d'informations, consultez Schedules.For more information, see Schedules.

Pour créer un plan d'actualisation du cache pour un dataset partagé, les conditions suivantes s'appliquent.To create a cache refresh plan for a shared dataset, the following conditions apply.

  • Le dataset partagé doit être activé pour la mise en cache.The shared dataset must be enabled for caching.

  • La source de données partagée dont dépend le dataset partagé ne peut pas utiliser une Invite ou des informations d'identification intégrées de Windows.The shared data source that the shared dataset depends on cannot use Prompt or Windows Integrated credentials.

  • Si le dataset partagé accepte des paramètres, vous devez spécifier des valeurs statiques par défaut pour chaque paramètre qui n'est pas marqué en lecture seule.If the shared dataset has parameters, you must specify static default values for each parameter that is not marked read-only. Les paramètres en lecture seule utiliseront toujours la valeur par défaut.Read-only parameters will always use the default value. Pour mettre en cache un dataset partagé pour plusieurs combinaisons de paramètres, vous devez créer un plan d'actualisation du cache distinct pour chaque combinaison de valeurs.To cache a shared dataset for multiple combinations of parameters, you must create a separate cache refresh plan for each combination of values. Les paramètres ne peuvent pas contenir de références à d'autres datasets.Parameters cannot contain references to other datasets.

  • Chaque plan d'actualisation du cache est associé à un seul dataset partagé ou rapport.Each cache refresh plan is associated with only one shared dataset or report.

  • Vous devez avoir des autorisations ReadPolicy et UpdatePolicy sur le dataset partagé.You must have ReadPolicy and UpdatePolicy permissions on the shared dataset.

    Les plans d'actualisation du cache s'appliquent aux datasets partagés et aux rapports.Cache refresh plans apply to both shared datasets and reports. Pour plus d’informations, consultez Options d’actualisation du cache (Gestionnaire de rapports).For more information, see Cache Refresh Options (Report Manager).

Conditions entraînant l'expiration du cacheConditions that Cause Cache Expiration

Les conditions suivantes peuvent provoquer le fait qu'un cache de dataset partagé devienne non valide.The following conditions can cause a shared dataset cache to become not valid.

  • Une condition de planification expire.A schedule condition expires. Le cache dépasse le délai d'attente imparti ou atteint l'heure d'expiration.The cache times out or the expiration time occurs.

  • Une planification partagée est supprimée.A shared schedule is deleted.

  • Modifications apportées à une planification partagée.Changes to a shared schedule. Les planifications partagées peuvent être suspendues, ce qui affecte également l'expiration d'un cache.Shared schedules can be paused, which also affects when a cache expires.

  • La définition de la requête pour le dataset partagé change.The query definition for the shared dataset changes.

  • Les informations d'identification pour la source de données partagée dont dépend le dataset partagé changent.The credentials for the shared data source that the shared dataset depends on change.

  • Les options de cache pour le dataset partagé changent.The cache options for the shared dataset change.

  • Les valeurs par défaut pour les paramètres en lecture seule pour le dataset partagé changent.The default values for read-only parameters for the shared dataset change.

  • Les filtres qui font partie de la définition du dataset partagé changent.The filters that are part of the shared dataset definition change.

  • Le dataset partagé est supprimé du serveur de rapports.The shared dataset is deleted from the report server. Lorsqu'un dataset partagé est supprimé, les copies mises en cache associées et les plans d'actualisation du cache sont également supprimés.When a shared dataset is deleted, associated cached copies and cache refresh plans are also deleted.

    Les mises à jour apportées aux plans d'actualisation du cache pour les datasets partagés n'affectent pas les rapports qui sont déjà traités.Updates to cache refresh plans for shared datasets do not affect reports that are already being processed. La mise à jour d'un plan d'actualisation du cache affecte uniquement les futurs lancements de rapports qui font référence au dataset partagé.Updating a cache refresh plan affects only future launches of reports that reference the shared dataset.

Voir aussiSee Also

Gérer des datasets partagésManage Shared Datasets