Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nel server di report è possibile memorizzare nella cache una copia di un report già elaborato, che verrà utilizzata quando un utente apre il report. Per l'utente, l'unico elemento disponibile per determinare che il report è una copia memorizzata nella cache è rappresentato dalla data e dall'ora di esecuzione del report. Se la data e l'orario non sono quelle correnti e se il report non è uno snapshot, significa che il report è stato recuperato dalla cache.
La memorizzazione nella cache può ridurre il tempo necessario per recuperare un report se il report è di grandi dimensioni o vi si accede frequentemente. Se il server viene riavviato, tutte le istanze memorizzate nella cache vengono ripristinate quando il servizio Web ReportServer viene riportato online.
La memorizzazione nella cache è una tecnica per il miglioramento delle prestazioni Il contenuto della cache è volatile e può cambiare in seguito all'aggiunta, alla sostituzione e alla rimozione di report. Se si desidera una strategia di memorizzazione nella cache più prevedibile, è consigliabile creare uno snapshot del report. Per altre informazioni, vedere Impostare proprietà di elaborazione dei report.
Nota
Reporting Services archivia i file temporanei in un database per supportare le sessioni utente e l'elaborazione dei report. Questi file vengono memorizzati nella cache per uso interno e per il supporto di una visualizzazione uniforme nel corso di un'unica sessione del browser. Per altre informazioni sulle modalità di memorizzazione nella cache di file temporanei a uso interno, vedere Database del server di report (modalità nativa SSRS).
Istanze memorizzate nella cache
Una versione memorizzata nella cache di un report si basa sul formato intermedio del report. Nella cache del server di report viene in genere memorizzata una sola istanza di un report basata sul nome del report. Se tuttavia un report può contenere dati diversi in base ai parametri delle query, potrebbero risultare memorizzate nella cache più versioni del report in qualsiasi momento. Si supponga, ad esempio, di disporre di un report con parametri che accetta un indicativo di paese come valore di parametro. Se quattro utenti diversi specificano quattro codici di area geografica univoci, vengono create quattro copie nella cache.
Il primo utente che esegue il report con un indicativo di paese specifico determina la memorizzazione nella cache di un report che contiene i dati per tale paese. Per gli utenti che successivamente richiederanno il report con lo stesso indicativo di paese, verrà utilizzata la copia memorizzata nella cache.
Non tutti i report possono essere memorizzati nella cache. Se per un report sono inclusi dati in base agli utenti, vengono richieste credenziali agli utenti, oppure viene utilizzata l'autenticazione di Windows, il report non viene memorizzato nella cache.
Aggiornare cache
Quando un utente seleziona un report dopo la scadenza della copia precedentemente memorizzata nella cache, il report memorizzato nella cache viene sostituito con una versione più recente. I report che sono configurati per l'esecuzione come istanze memorizzate nella cache vengono rimossi dalla cache a intervalli regolari, in base alle impostazioni relative alla scadenza. È possibile impostare la scadenza di un report in minuti o a un'ora pianificata, come determinato dal requisito di attualità dei dati. Non è possibile eliminare direttamente i report dalla cache, a meno che non si utilizzi l'API SOAP.
Per configurare la scadenza della cache, è possibile utilizzare una pianificazione condivisa o una pianificazione specifica del report. Se si utilizza una pianificazione condivisa che in seguito viene sospesa, la cache non scadrà durante l'intervallo di sospensione. Se una pianificazione condivisa viene eliminata, una copia delle impostazioni della pianificazione verrà salvata come pianificazione specifica del report.
Se una pianificazione scade, o se il motore di pianificazione non è disponibile alla data di scadenza della cache, il server di reportistica esegue un report in tempo reale. Questa azione continua fino a quando non è possibile riprendere le operazioni pianificate. Le operazioni pianificate possono essere riprese quando si estende la pianificazione o si avvia il servizio di pianificazione.
Precaricare la cache
Per ottimizzare le prestazioni del server, è possibile eseguire il precaricamento della cache. È possibile precaricare la cache con una raccolta di istanze di report parametrizzate in due modi:
Creazione di un piano di aggiornamento della cache. Quando si crea un piano di aggiornamento, è possibile specificare una pianificazione per un report singolo o una pianificazione condivisa.
Crea una sottoscrizione basata sui dati che utilizza il provider di recapito Null. Quando nella sottoscrizione si specifica il provider di recapito Null come metodo di recapito, il server di report usa il database del server di report come destinazione del recapito. Il server utilizza un'estensione di rendering specializzata denominata estensione di rendering null. A differenza delle altre estensioni di recapito, il provider di recapito Null non dispone di impostazioni di recapito da configurare tramite una definizione di sottoscrizione.
La memorizzazione nella cache del report è particolarmente utile se si desidera memorizzare nella cache più istanze di un report con parametri, dove vengono utilizzati valori di parametro diversi per generare istanze del report diverse. Nel report è possibile specificare solo parametri basati su query.
Quando si specifica una pianificazione o si crea una sottoscrizione guidata dai dati, è necessario pianificare la frequenza con cui i report vengono recapitati alla cache. Per recapitare le nuove copie alla cache, è necessario che le vecchie copie siano scadute. Pertanto, le proprietà di esecuzione del report devono essere configurate per includere le impostazioni di scadenza della cache. Le impostazioni di scadenza devono essere coerenti con la pianificazione della sottoscrizione definita dall'utente. Se, ad esempio, si crea una sottoscrizione che deve essere eseguita ogni notte, anche la cache deve scadere ogni notte prima dell'ora di esecuzione della sottoscrizione. Se le Proprietà di esecuzione non includono tempi di scadenza, le consegne più recenti vengono ignorate. Per altre informazioni sui piani di aggiornamento della cache, vedere Pianificazioni. Per altre informazioni sull'impostazione delle proprietà, vedere Impostare proprietà di elaborazione dei report. Per altre informazioni sull'uso delle sottoscrizioni guidate dai dati, vedere Sottoscrizioni guidate dai dati.
Condizioni che determinano la scadenza della cache
Un report memorizzato nella cache può venire invalidato a causa della modifica degli elementi seguenti: definizione del report, parametri del report, credenziali dell'origine dei dati oppure opzioni di esecuzione del report. Se si elimina un report memorizzato nella cache, anche la copia del report presente nella cache viene eliminata.
Se non è possibile eseguire il rendering di un report da un'istanza memorizzata nella cache per qualsiasi motivo, il server di report esegue nuovamente il report. Questa azione garantisce che il report venga generato con i valori dei parametri corretti e aggiornati.