Sottoscrizioni e recapito (Reporting Services)

Una sottoscrizione di Reporting Services è una configurazione che recapita un report in un momento specifico o in risposta a un evento. È anche nel formato di file specificato dall’utente. Ad esempio, è possibile salvare il report MonthlySales.rdl ogni mercoledì come documento di Microsoft Word in una condivisione file. Le sottoscrizioni possono essere usate per pianificare e automatizzare il recapito di un report e con un set specifico di valori di parametri di report.

È possibile creare più sottoscrizioni per un singolo report per variare le opzioni di sottoscrizione. Ad esempio, è possibile specificare valori di parametro diversi per produrre tre versioni di un report. Questi report si riferiscono ad esempio report delle vendite dell'area occidentale, vendite dell'area orientale e tutte le vendite.

Diagram of an example SSRS subscription flow.

Le sottoscrizioni non sono disponibili in tutte le edizioni di SQL Server. Per un elenco delle funzionalità supportate da SQL Server, vedere Edizioni e funzionalità supportate di SQL Server 2022.

Contenuto dell'argomento:

Contenuto della sezione:

Scenari di sottoscrizione e recapito

È possibile configurare le opzioni di recapito per ogni sottoscrizione in base all'estensione di recapito scelta. Un'estensione per il recapito è un modulo che supporta alcune modalità di distribuzione. Reporting Services include diverse estensioni per il recapito e terze parti potrebbero mettere a disposizione estensioni aggiuntive.

Uno sviluppatore può creare estensioni per il recapito personalizzate per supportare scenari aggiuntivi. Per altre informazioni, vedere Implementazione di una estensione per il recapito.

Nella tabella seguente sono descritti gli scenari di sottoscrizione di Reporting Services più comuni.

Scenario Descrizione
Invia report tramite posta elettronica Inviare report tramite posta elettronica a singoli utenti e gruppi. Creare una sottoscrizione e specificare un alias di gruppo o un alias di posta elettronica per ricevere un report che si desidera distribuire. È possibile che Reporting Services determini in fase di esecuzione i dati della sottoscrizione. Per inviare lo stesso report a un gruppo che dispone di un elenco di membri che cambia, è possibile utilizzare una query per dedurre in fase di esecuzione l'elenco delle sottoscrizioni.
Visualizzare i report offline Gli utenti possono selezionare uno dei formati seguenti per l'output della sottoscrizione:

- File XML con dati del report
- CSV (delimitato da virgole)
- PDF
- MHTML (archivio Web)
- Microsoft Excel
- File TIFF
- Microsoft Word

È possibile inviare i report da archiviare direttamente a una cartella condivisa della quale si esegue il backup in una pianificazione notturna. I report di grandi dimensioni che impiegano troppo lungo per il caricamento in un browser possono essere inviati a una cartella condivisa in un formato che può essere visualizzato in un'applicazione desktop.
Precaricare la cache Se sono disponibili più istanze di un report con parametri o di un gran numero di utenti che visualizzano report, è possibile precaricare i report nella cache. Il precaricamento riduce il tempo di elaborazione necessario per visualizzare il report.
Report guidati dai dati Utilizzare le sottoscrizioni guidate dai dati per personalizzare in fase di esecuzione l'output del report, le opzioni di recapito e le impostazioni dei parametri del report. La sottoscrizione utilizza una query per ottenere in fase di esecuzione i valori di input da un'origine dati. È possibile utilizzare le sottoscrizioni guidate dai dati per eseguire un'operazione di merge della posta elettronica che invia un report a un elenco di sottoscrittori determinato al momento dell'elaborazione della sottoscrizione.

Sottoscrizioni standard e guidate dai dati

Reporting Services supporta due tipi di sottoscrizione, vale a dire standard e guidata dai dati. Le sottoscrizioni standard vengono create e gestite da singoli utenti. Una sottoscrizione standard è costituita da valori statici, che non possono essere modificati durante l'elaborazione della sottoscrizione. Per ogni sottoscrizione standard esiste un solo set di opzioni di presentazione del report, opzioni di recapito e parametri del report.

Le sottoscrizioni guidate dai dati ottengono informazioni sulla sottoscrizione in fase di esecuzione eseguendo una query su un'origine dati esterna che fornisce valori utilizzati per specificare un destinatario, parametri del report o formato dell'applicazione. È possibile utilizzare le sottoscrizioni guidate dai dati se si dispone di un elenco di destinatari molto esteso o si desidera modificare l'output del report per ogni destinatario. Per utilizzare le sottoscrizioni guidate dai dati è necessario essere in grado di compilare query e sapere come vengono utilizzati i parametri. Le sottoscrizioni guidate dai dati vengono in genere create e gestite dagli amministratori dei server di report. Per altre informazioni, vedere gli articoli seguenti:

Requisiti di sottoscrizione

Per poter creare una sottoscrizione di un report, è innanzitutto necessario che siano soddisfatti i requisiti seguenti:

Requisito Descrizione
Autorizzazioni È necessario poter accedere al report. Per poter sottoscrivere un report, è necessario disporre delle autorizzazioni necessarie per visualizzarlo.

Per i server di report in modalità nativa le assegnazioni dei ruoli seguenti influiscono sulle sottoscrizioni:

- L'attività "Gestione di sottoscrizioni individuali" consente di creare, modificare ed eliminare sottoscrizioni per un report specifico. Nei ruoli predefiniti questa attività appartiene ai ruoli Visualizzazione e Generatore report. Le assegnazioni di ruolo che includono questa attività consentono a un utente di gestire solo le proprie sottoscrizioni.
- L'attività "Gestione di tutte le sottoscrizioni" consente di accedere a tutte le sottoscrizioni e di modificarle. Questa attività è necessaria per creare sottoscrizioni guidate dai dati. Nei ruoli predefiniti solo il ruolo Gestione contenuto include questa attività.
Credenziali archiviate. Per creare una sottoscrizione, è necessario che per il report siano usate credenziali archiviate oppure nessuna credenziale per poter recuperare i dati in fase di esecuzione. Non è possibile sottoscrivere un report configurato per utilizzare credenziali rappresentate o delegate dell'utente corrente per connettersi a un'origine dati esterna. Le credenziali archiviate possono essere un account di Windows o un account utente del database. Per altre informazioni, vedere Specificare le credenziali e le informazioni sulla connessione per le origini dati del report

e si dispone delle autorizzazioni necessarie per visualizzare il report e creare sottoscrizioni individuali. È necessario che l'opzioneEventi pianificati e recapito report sia abilitata sul server di report. Per altre informazioni, vedere Creare e gestire sottoscrizioni per server di report in modalità nativa.
Valori dipendenti dall'utente in un report Per le sole sottoscrizioni standard è possibile creare sottoscrizioni a report in cui le informazioni sull'account utente sono incluse in un filtro o sono disponibili sotto forma di testo visualizzato nel report. Nel report il nome dell'account utente viene specificato tramite un'espressione User!UserID che corrisponde all'utente corrente. Quando si crea una sottoscrizione, l'autore della sottoscrizione viene considerato come utente corrente.
Nessuna sicurezza degli elementi del modello Non è possibile sottoscrivere un report di Generatore report che utilizza come origine dei dati un modello contenente impostazioni di sicurezza degli elementi del modello. La restrizione riguarda solo i report che utilizzano la sicurezza degli elementi del modello.
Valori parametro Se il report utilizza parametri, è necessario specificare un valore di parametro con il report stesso oppure nella sottoscrizione che viene definita. Se nel report sono stati specificati valori predefiniti, è possibile impostare il valore di parametro per utilizzare l'impostazione predefinita.

Estensioni per il recapito

Le sottoscrizioni vengono elaborate sul server di report e distribuite mediante estensioni per il recapito distribuite sul server. Per impostazione predefinita, è possibile creare sottoscrizioni che inviano report a una cartella condivisa oppure a un indirizzo di posta elettronica. È possibile inviare un report a una raccolta di SharePoint se il server di report è configurato per la modalità integrata SharePoint.

Al momento della creazione di una sottoscrizione, gli utenti hanno la possibilità di scegliere una delle estensioni per il recapito disponibili che determinano il metodo di recapito del report. In Reporting Services sono disponibili le estensioni per il recapito seguenti.

Estensione per il recapito Descrizione
Condivisione file di Windows Consente di recapitare un report come file di applicazione statico a una cartella condivisa cui è possibile accedere sulla rete.
E-mail Consente di recapitare una notifica o un report come un allegato della posta elettronica o un collegamento URL.
Raccolta SharePoint Consente di recapitare un report come file di applicazione statico a una raccolta di SharePoint cui è possibile accedere da un sito di SharePoint. Il sito deve essere integrato con un server di report in esecuzione in modalità integrata SharePoint.
Null Il provider di recapito Null è un'estensione per il recapito estremamente specializzata utilizzata per precaricare una cache con report con parametri immediatamente visualizzabile. Questo metodo non è disponibile per sottoscrizioni individuali. Il recapito Null viene utilizzato dagli amministratori in sottoscrizioni guidate dai dati per l'ottimizzazione delle prestazioni del server di report mediante il precaricamento della cache.

Nota

Il recapito di report è una parte estendibile dell'architettura di Reporting Services. Altri fornitori possono creare estensioni per il recapito personalizzate per inviare report a posizioni o dispositivi diversi. Per ulteriori informazioni sulle estensioni per il recapito personalizzate, vedere Implementazione di una estensione per il recapito.

Parti di una sottoscrizione

La definizione di una sottoscrizione è costituita dagli elementi seguenti:

  • Un puntatore a un report che può essere eseguito in modo automatico, ovvero un report che utilizza credenziali archiviate o che non ne utilizza alcuna.

  • Una modalità di recapito (ad esempio tramite posta elettronica) e le impostazioni per la modalità di recapito (ad esempio un indirizzo di posta elettronica).

  • Un'estensione per il rendering per la presentazione del report in un formato specifico.

  • Le condizioni per l'elaborazione della sottoscrizione, che vengono espresse come evento.

    In genere, le condizioni per l'esecuzione di un report si basano sul tempo. Se ad esempio si desidera eseguire un particolare report ogni martedì alle 15.00. e il report è configurato per l'esecuzione come snapshot, è possibile specificare che la sottoscrizione deve essere eseguita tutte le volte in cui lo snapshot viene aggiornato.

  • I parametri utilizzati durante l'esecuzione del report.

    I parametri sono facoltativi e vengono specificati solo per report che accettano valori di parametro. Dato che una sottoscrizione è in genere di proprietà di un utente, i valori di parametro che vengono specificati variano da sottoscrizione a sottoscrizione. Ad esempio, i responsabili delle vendite per reparti diversi utilizzano parametri che restituiscono dati per il proprio reparto. Per ogni parametro deve essere definito un valore in modo esplicito oppure deve essere impostato un valore predefinito valido.

Le informazioni relative alle sottoscrizioni vengono archiviate con ogni report in un database del server di report. Non è possibile gestire le sottoscrizioni separatamente dal report al quale sono associate. Si noti che non è possibile integrare le sottoscrizioni con descrizioni o altro tipo di testo personalizzato né con altri elementi. Le sottoscrizioni possono contenere solo gli elementi elencati in precedenza.

Procedura di elaborazione delle sottoscrizioni

Reporting Services include il componente Elaborazione pianificazione e recapito che offre funzionalità per la pianificazione e il recapito di report agli utenti. Il server di report risponde a eventi di cui esegue costantemente il monitoraggio. Quando viene generato un evento che corrisponde alle condizioni definite per una sottoscrizione, il server di report accede alle impostazioni della sottoscrizione per determinare come elaborare e recapitare il report. Il server di report richiede l'estensione per il recapito specificata nella sottoscrizione. Quando l'estensione per il recapito è in esecuzione, il server di report estrae le informazioni relative al recapito dalla sottoscrizione e le passa per l'elaborazione all'estensione per il recapito.

L'estensione per il recapito esegue il rendering del report nel formato definito nella sottoscrizione e recapita il report o la notifica alla destinazione specificata. Se un report non può essere recapitato, viene registrata una voce specifica nel file di log del server di report. Se si desidera che siano supportate operazioni di riesecuzione dei tentativi, è possibile configurare il server di report in modo che tenti di rieseguire il recapito se il primo tentativo non riesce.

Elaborazione di una sottoscrizione standard

Le sottoscrizioni standard generano una sola istanza di un report. Il report viene recapitato a un'unica cartella condivisa o agli indirizzi di posta elettronica specificati nella sottoscrizione. I dati e il layout del report rimangono invariati. Se per il report vengono utilizzati parametri, viene elaborata una sottoscrizione standard con un solo valore per ogni parametro del report.

Elaborazione di una sottoscrizione guidata dai dati

Le sottoscrizioni guidate dai dati possono essere impostate in modo da generare numerose istanze di un report che verranno recapitate a più destinazioni. Il layout del report non varia, tuttavia i dati del report possono variare se vengono passati valori dei parametri da un set di risultati del sottoscrittore. Le opzioni di recapito hanno effetto sul formato di rendering del report e sulle modalità di trasferimento del report stesso, ovvero se viene allegato o collegato al messaggio di posta elettronica. Queste opzioni possono variare anche in base al sottoscrittore quando i valori vengono passati dal set di righe.

Le sottoscrizioni guidate dai dati possono generare numerose operazioni di recapito. Il server di report crea un'operazione di recapito per ogni riga del set di righe restituito dalla query di sottoscrizione.

Caratteristiche del recapito di report

Con le sottoscrizioni standard i report vengono in genere recapitati come report statici. Questi report si basano sullo snapshot dell'esecuzione del report più recente oppure vengono generati come report statici allo scopo di completare un'operazione di recapito. Se si seleziona l'opzione Includi collegamento in una sottoscrizione di un report che viene eseguito su richiesta, il server di report eseguirà il report quando si seleziona il collegamento ipertestuale.

Nota

I report che vengono recapitati mediante l'invio dell'URL rimangono connessi al server di report e possono pertanto venire aggiornati o eliminati dopo il recapito. Le opzioni di recapito selezionate per la sottoscrizione determinano se il report viene recapitato come URL, incorporato in un messaggio di posta elettronica o inviato come allegato a un messaggio.

I report recapitati tramite una sottoscrizione guidata dai dati potrebbero essere generati di nuovo durante l'elaborazione della sottoscrizione. Per completare una sottoscrizione guidata dai dati, il server di report non si limita a utilizzare un'istanza specifica del report e del relativo set di dati. Se la sottoscrizione utilizza valori dei parametri diversi per diversi sottoscrittori, il server di report genera di nuovo il report per produrre il risultato richiesto. I dati sottostanti potrebbero essere aggiornati dopo la creazione e il recapito della prima copia del report. Quando si aggiorna il report, gli utenti che ottengono report in un secondo momento nel processo potrebbero visualizzare i dati basati su un set di risultati diverso. È possibile utilizzare un report eseguito come snapshot per assicurare che la stessa istanza del report venga recapitata a tutti i sottoscrittori. Se tuttavia durante l'elaborazione della sottoscrizione si verifica un aggiornamento pianificato dello snapshot, nei report ricevuti da utenti diversi potrebbero comunque essere disponibili dati diversi.

Attivazione dell'elaborazione delle sottoscrizioni

Il server di report utilizza due tipi di eventi per attivare il processo di sottoscrizione, ovvero un evento basato sul tempo specificato in una pianificazione o un evento di aggiornamento di snapshot.

Un trigger basato sul tempo utilizza una pianificazione in base al report o una pianificazione condivisa per specificare quando deve essere eseguita una sottoscrizione. Per i report su richiesta e memorizzati nella cache le pianificazioni rappresentano la sola opzione di trigger.

Un evento di aggiornamento di snapshot utilizza l'aggiornamento pianificato di uno snapshot del report per attivare una sottoscrizione. È possibile definire una sottoscrizione che viene attivata quando il report viene aggiornato con nuovi dati. La sottoscrizione viene attivata in base alle proprietà di esecuzione impostate nel report.

Controllo delle sottoscrizioni a livello di codice

Il modello a oggetti di Reporting Services consente di controllare a livello di codice le sottoscrizioni e la relativa elaborazione. Per esempi e per un'introduzione, vedere gli articoli seguenti:

Creare una sottoscrizione guidata dai dati (esercitazione su SSRS)
Pianificazioni
Server report Reporting Services (modalità nativa)
Monitorare le sottoscrizioni di Reporting Services