vendredi 23 septembre 2011

[SSRS] : Différence entre rapport en cache et Snapshot

Nous pouvons mettre en œuvre deux formes de mise en cache dans Reporting Services: la mise en cache temporaire des rapports et les Snapshot.
Le serveur de rapports met en cache une instance d'un rapport basé sur le nom du rapport. Cependant, si un rapport contient des données différentes en fonction de paramètres de requête, de multiples versions de ce rapport seront mises en cache.
Par exemple, supposons que vous avez paramétré un rapport qui prend un code région comme une valeur de paramètre. Si vous spécifiez quatre codes régions différents, quatre copies en cache seront créées.
Le premier utilisateur qui exécute le rapport avec un code région différent crée un rapport mis en cache qui contient les données pour cette région. Les utilisateurs suivants qui demandent un rapport en utilisant le même code région obtiennent la copie en cache.


Les rapports mis en cache sont supprimés du cache à intervalles que vous définissez. Vous pouvez spécifier les intervalles en minutes, ou vous pouvez programmer une date précise pour vider le cache. Tous les rapports ne peuvent être mises en cache, un rapport ne peut pas être mis en cache, que si vous changez la source de données à utiliser les informations d'identification.
Il y a certains nombres d'événements qui peuvent vider le cache d'un rapport, il s'agit notamment, si la définition du rapport est modifié, les paramètres du rapport sont modifiées, changement au niveau de la source de données ou si le délai d'expiration du cache est atteint.

Un Snapshot est un rapport qui contient les informations de mise en page et les données qui sont récupérées à un moment précis dans le temps. Un instantané de rapport est généralement créées et actualisées suivant une planification vous permettant de maîtriser quand est-ce que le traitement du rapport et des données va se produire.
Si un rapport est basé sur des requêtes qui prennent beaucoup de temps à s'exécuter vous pouvez créer un Snapshot de rapport. Un Snapshot de rapport est stockée dans la base de données ReportServer, où il est ensuite récupéré quand un utilisateur demande ou la souscription du rapport. Quand un Snapshot de rapport est mis à jour, il est écrasé par une nouvelle instance. Le serveur de rapports ne sauve pas les versions précédentes d'un instantané de rapport, sauf si vous définissez les options pour l'ajouter à l'historique du rapport.
Pas tous les rapports peuvent être configurés pour fonctionner comme un instantané. Par exemple, vous ne pouvez pas créer un Snapshot d'un rapport qui invite les utilisateurs à saisir les informations d'identification ou utilise la sécurité Windows intégrée pour obtenir des données pour le rapport. Aussi, si vous voulez exécuter un rapport paramétré comme un Snapshot, vous devez spécifier un paramètre par défaut à utiliser lors de la création.
Contrairement aux rapports qui s'exécutent à la demande, il n'est pas possible de spécifier une valeur de paramètre différente pour un Snapshot de rapport une fois le rapport est ouvert.

Aucun commentaire:

Enregistrer un commentaire