Memorizzare nella cache set di dati condivisi (SSRS)Cache Shared Datasets (SSRS)

I risultati della query per un set di dati condiviso possono essere copiati in una cache per fornire dati coerenti per più report e migliorare il tempo di risposta per la query del set di dati.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. In modo analogo ai report, è possibile configurare un set di dati condiviso da memorizzare nella cache al momento del primo utilizzo o specificando una pianificazione.Like reports, you can configure a shared dataset to be cached on first use or by specifying a schedule.

Un set di dati condiviso può essere incluso in più report o come parte di definizioni del componente.A shared dataset can be included in multiple reports or as part of component definitions. Memorizzando nella cache il set di dati condiviso, viene fornito un set di dati coerente per tutti i report che lo utilizzano e viene inoltre ridotto il numero di esecuzioni della query del set di dati sull'origine dati esterna.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.

Nell'elenco seguente vengono indicate le situazioni in cui è opportuno memorizzare nella cache un set di dati condiviso:The following list provides examples of when to cache a shared dataset:

  • L'esecuzione della query richiede una notevole quantità di tempo.The query takes a substantial amount of time to run.

  • La query accetta parametri, ma il numero di combinazioni di parametri è ridotto durante la maggior parte del tempo.The query takes parameters, but most of the time, the number of parameter combinations is small. Ogni combinazione crea risultati della query memorizzati nella cache.Each combination creates cached query results.

  • La query viene eseguita in ore stimabili del giorno, della settimana o del mese.The query runs at predictable times of the day, week, or month.

  • La query viene eseguita come risultato di un riferimento a un set di dati condiviso in un report recapitato tramite posta elettronica. In questo caso è probabile che un elevato numero di utenti selezioni il collegamento in un breve intervallo di tempo.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.

    Nell'elenco seguente vengono indicate le situazioni in cui non è opportuno memorizzare nella cache un set di dati condiviso:The following list provides examples of when not to cache a shared dataset:

  • I risultati della query devono includere sempre i dati più recenti.The query results must always include the most recent data.

  • La query viene eseguita rapidamente.The query runs quickly.

  • La query viene eseguita raramente.The query runs infrequently.

  • La query accetta parametri, il numero di combinazioni di parametri è elevato e nessuna combinazione è più probabile di un'altra.The query takes parameters, the number of parameter combinations is large, and no combination is more likely than another.

  • All'origine dati su cui si basa il set di dati condiviso sono associate credenziali richieste o della sicurezza integrata di Windows.The data source that the shared dataset is based on has Prompt or Windows Integrated credentials.

  • Il filtro o la query del set di dati condiviso contiene un'espressione con un riferimento alla raccolta globale dell'utente.The shared dataset filter or the query contains an expression with a reference to the global collection User.

    Se un utente sceglie valori dei parametri del report diversi dai valori predefiniti specificati per il set di risultati memorizzati nella cache, la query del set di dati viene eseguita in modo attivo e i risultati memorizzati nella cache non vengono utilizzati per tale query.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.

Memorizzazione nella cache di set di dati condivisiCaching Shared Datasets

Per abilitare la memorizzazione nella cache per un set di dati condiviso, è necessario selezionare l'opzione relativa nel set stesso.To enable caching for a shared dataset, you must select the cache option on the shared dataset. Dopo che la memorizzazione nella cache è stata abilitata, i risultati della query per un set di dati condiviso vengono copiati nella cache al momento del primo utilizzo.After caching is enabled, the query results for a shared dataset are copied to the cache on first use. Se al set di dati condiviso sono associati parametri, ogni combinazione di parametri crea una nuova voce nella cache.If the shared dataset has parameters, each combination of parameters creates a new entry in the cache.

Durante la permanenza nella cache dei risultati della query per una combinazione di parametri specifica, ogni report avviato per l'elaborazione che include un riferimento al set di dati condiviso con tali valori dei parametri utilizzerà i dati memorizzati nella 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.

È possibile specificare la quantità di tempo in cui mantenere i dati nella la cache prima che scadano.You can specify how long to keep data in the the cache before it expires. Per altre informazioni, vedere Pagina Memorizzazione nella cache, set di dati condivisi &(Gestione report).For more information, see Caching Page, Shared Datasets (Report Manager).

Precaricamento della cachePreloading the Cache

È possibile precaricare la cache creando un piano di aggiornamentoYou can preload the cache by creating a cache refresh plan. che consente di specificare la frequenza di aggiornamento della cache tramite una pianificazione condivisa o specifica per l'elemento.With a refresh plan, you can specify how often to refresh the cache by using an item-specific schedule or a shared schedule. Per evitare che per uno stesso elemento siano presenti più voci nella cache, è necessario specificare una pianificazione in base alla quale il tempo per l'elaborazione della query sull'origine dati esterna sia sufficiente.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. Se ad esempio il tempo necessario per l'esecuzione della query è di 20 minuti, l'aggiornamento deve essere pianificato con frequenza maggiore di 20 minuti.For example, if the query takes 20 minutes to run, the refresh schedule should be greater than 20 minutes. Per altre informazioni, vedere Schedules.For more information, see Schedules.

Per creare un piano di aggiornamento della cache per un set di dati condiviso, è necessario che siano rispettate le condizioni seguenti.To create a cache refresh plan for a shared dataset, the following conditions apply.

  • Il set di dati condiviso deve essere abilitato per la memorizzazione nella cache.The shared dataset must be enabled for caching.

  • L'origine dati condivisa da cui dipende il set di dati condiviso non può utilizzare credenziali richieste o della sicurezza integrata di Windows.The shared data source that the shared dataset depends on cannot use Prompt or Windows Integrated credentials.

  • Se al set di dati condiviso sono associati parametri, è necessario specificare valori predefiniti statici per ogni parametro non contrassegnato come valore di sola lettura.If the shared dataset has parameters, you must specify static default values for each parameter that is not marked read-only. I parametri di sola lettura utilizzeranno sempre il valore predefinito.Read-only parameters will always use the default value. Per memorizzare nella cache un set di dati condiviso per più combinazioni di parametri, è necessario creare un piano di aggiornamento della cache separato per ogni combinazione di valori.To cache a shared dataset for multiple combinations of parameters, you must create a separate cache refresh plan for each combination of values. I parametri non possono contenere riferimenti ad altri set di dati.Parameters cannot contain references to other datasets.

  • Ogni piano di aggiornamento della cache è associato a un unico set di dati condiviso o report.Each cache refresh plan is associated with only one shared dataset or report.

  • È necessario disporre delle autorizzazioni ReadPolicy e UpdatePolicy sul set di dati condiviso.You must have ReadPolicy and UpdatePolicy permissions on the shared dataset.

    I piani di aggiornamento della cache si applicano sia ai set di dati condivisi che ai report.Cache refresh plans apply to both shared datasets and reports. Per ulteriori informazioni, vedere opzioni di aggiornamento Cache ( Gestione report ) .For more information, see Cache Refresh Options (Report Manager).

Condizioni che determinano la scadenza della cacheConditions that Cause Cache Expiration

Le condizioni seguenti possono provocare l'invalidità di una cache di un set di dati condiviso.The following conditions can cause a shared dataset cache to become not valid.

  • Scadenza di una condizione della pianificazioneA schedule condition expires. per timeout o scadenza della cache.The cache times out or the expiration time occurs.

  • Eliminazione di una pianificazione condivisa.A shared schedule is deleted.

  • Applicazione di modifiche a una pianificazione condivisa.Changes to a shared schedule. L'eventuale sospensione di pianificazioni condivise può influire sulla scadenza di una cache.Shared schedules can be paused, which also affects when a cache expires.

  • Esecuzione di modifiche alla definizione della query per il set di dati condiviso.The query definition for the shared dataset changes.

  • Modifica delle credenziali per l'origine dati condivisa da cui dipende il set di dati condiviso.The credentials for the shared data source that the shared dataset depends on change.

  • Modifica delle opzioni della cache per il set di dati condiviso.The cache options for the shared dataset change.

  • Modifica dei valori predefiniti per i parametri di sola lettura per il set di dati condiviso.The default values for read-only parameters for the shared dataset change.

  • Modifica dei filtri che appartengono alla definizione del set di dati condiviso.The filters that are part of the shared dataset definition change.

  • Eliminazione del set di dati condiviso dal server di report.The shared dataset is deleted from the report server. L'eliminazione di un set di dati condiviso comporta l'eliminazione delle copie memorizzate nella cache associate e dei piani di aggiornamento della cache stessa.When a shared dataset is deleted, associated cached copies and cache refresh plans are also deleted.

    Gli aggiornamenti dei piani di aggiornamento della cache per i set di dati condivisi non influiscono sui report già in elaborazione,Updates to cache refresh plans for shared datasets do not affect reports that are already being processed. ma influiscono solo su avvii futuri di report che fanno riferimento al set di dati condiviso.Updating a cache refresh plan affects only future launches of reports that reference the shared dataset.

Vedere ancheSee Also

Gestire set di dati condivisiManage Shared Datasets