Condividi tramite


Gestione di un processo in esecuzione

Con SQL Server Reporting Services viene monitorato lo stato dei processi in esecuzione nel server di report. Il server di report effettua una scansione a intervalli regolari dei processi in corso e scrive informazioni sullo stato nel database del server di report. Un processo è considerato in corso se è in esecuzione una delle operazioni seguenti, ovvero esecuzione di query su un server di database locale o remoto, elaborazione di report e rendering di report.

È possibile gestire sia i processi utente sia i processi di sistema. I processi utente vengono avviati da un singolo utente o da una sottoscrizione. Includono l'esecuzione di un report su richiesta, la richiesta di uno snapshot della cronologia del report, la creazione manuale di uno snapshot del report e l'elaborazione di una sottoscrizione standard. I processi di sistema vengono avviati dal server di report. Includono snapshot dell'esecuzione di report pianificati, snapshot della cronologia dei report pianificati e sottoscrizioni guidate dai dati.

L'utilizzo delle risorse e il tempo di elaborazione del report variano significativamente a seconda del report, della complessità della query, della quantità di dati e del formato di rendering specificato per il report. I report con query semplici su un'origine dei dati locale vengono spesso completati in millisecondi e non richiedono mai operazioni di gestione o di ottimizzazione. Un report di grandi dimensioni per il quale viene eseguito il rendering nel formato PDF o Excel può richiedere, al contrario, un tempo di elaborazione elevato a seconda delle risorse hardware, delle opzioni di recapito e dall'eventuale esecuzione di altri processi simultaneamente. Su un server di report la maggior parte dei processi con esecuzione prolungata riguarda le operazioni di rendering dei report e i processi in attesa di conclusione dell'elaborazione di query. Può talvolta essere necessario annullare l'elaborazione di un report per mettere un computer in modalità non in linea o per interrompere un processo in esecuzione il cui completamento richiede troppo tempo.

Visualizzazione e annullamento di processi

Per impostazione predefinita, prima di essere visualizzato in Gestione report o in SQL Server Management Studio è necessario che un processo sia in esecuzione da almeno 60 secondi. Per ottenere informazioni aggiornate sullo stato dei processi dal database del server di report è necessario aggiornare la pagina.

  • In Gestione report è presente una pagina Gestisci processi che è possibile utilizzare per visualizzare e annullare un processo in esecuzione.
  • In Management Studio è presente un nodo Processi che è possibile espandere per visualizzare i processi in esecuzione. Lo stato dei processi viene visualizzato nel riquadro sinistro.

[!NOTA] È possibile elencare o annullare report in-process e sottoscrizioni standard in fase di elaborazione nel server o su una distribuzione con scalabilità orizzontale del server di report. Non è possibile elencare né annullare sottoscrizioni guidate dai dati.

L'annullamento di un processo comporta l'annullamento solo dei processi in esecuzione nel server di report. Poiché il server di report non gestisce processi su altri computer, è necessario annullare manualmente i processi di query che rimangono di conseguenza isolati su altri sistemi. Per chiudere automaticamente le query con esecuzione eccessivamente prolungata, è possibile specificare valori di timeout delle query. Per ulteriori informazioni, vedere Impostazione dei valori di timeout per l'esecuzione di report. Per ulteriori informazioni sulla sospensione temporanea di un report, vedere Sospensione dell'elaborazione del report e della sottoscrizione.

I processi possono inoltre essere gestiti a livello di programmazione o mediante l'utilizzo di uno script. Per ulteriori informazioni, vedere ListJobs, CancelJob e Script di esempio (Reporting Services) per visualizzare uno script di esempio che consente di annullare processi in esecuzione.

[!NOTA] Per annullare un processo, in rare circostanze potrebbe essere necessario riavviare il server. Per ulteriori informazioni, vedere Avvio e interruzione del servizio Windows ReportServer.

Configurazione di informazioni sullo stato per processi in esecuzione

Un processo in esecuzione viene archiviato nel database temporaneo del server di report. Per controllare la frequenza con la quale il server di report esegue la scansione dei processi in corso e l'intervallo trascorso il quale lo stato di un processo cambia da nuovo a in esecuzione, è possibile modificare le impostazioni di configurazione nel file RSReportServer.config. L'impostazione RunningRequestsDbCycle consente di specificare la frequenza con la quale il server di report esegue la scansione dei processi in esecuzione. Per impostazione predefinita, le informazioni sullo stato vengono registrate ogni 60 secondi. L'impostazione RunningRequestsAge consente di specificare l'intervallo dopo il quale un processo passa da nuovo a in esecuzione.

Vedere anche

Concetti

File di configurazione RSReportServer
Amministrazione di Reporting Services
Gestione report
Monitoraggio delle prestazioni del server di report

Altre risorse

Distribuzione di Reporting Services
Pagina Gestisci processi (Gestione report)
Gestione dell'elaborazione dei report

Guida in linea e informazioni

Assistenza su SQL Server 2005