Configurare una distribuzione con scalabilità orizzontale di un server di report in modalità nativa

Si applica a:✅ SQL Server Reporting Services edizione Enterprise (2017 e versioni successive) ✅ Server di report di Power BI

Reporting Services in modalità nativa supporta un modello di distribuzione con scalabilità orizzontale che consente di eseguire più istanze del server di report che condividono un singolo database del server di report. Le distribuzioni con scalabilità orizzontale vengono utilizzate per aumentare la scalabilità di server di report in modo che siano in grado di gestire più utenti simultanei e carichi di esecuzione di report maggiori. Tali distribuzioni possono essere utilizzate inoltre per dedicare server specifici all'elaborazione di report interattivi o pianificati.

Importante

Per il Server di report di Microsoft Power BI è necessario configurare l'affinità del client (denominata anche sessioni permanenti o persistenza) nel bilanciamento del carico per gli ambienti scale-out, al fine di garantire prestazioni adeguate e un funzionamento dei report di Power BI (PBIX) coerente.

Per SQL Server 2016 Reporting Services e versioni precedenti, i server di report in modalità SharePoint usano l'infrastruttura dei prodotti SharePoint per la scalabilità orizzontale. La scalabilità orizzontale della modalità SharePoint viene eseguita aggiungendo più server di report in modalità SharePoint alla farm di SharePoint. Per informazioni sulla scalabilità orizzontale in modalità SharePoint, vedere Aggiungere un altro server di report a una farm (con scalabilità orizzontale SSRS).

Nota

L'integrazione di Reporting Services con SharePoint non è più disponibile nelle versioni successive a SQL Server 2016.

La distribuzione con scalabilità orizzontale viene usata negli scenari seguenti:

  • Come prerequisito per il bilanciamento del carico di più server di report in un cluster di server. Prima di bilanciare il carico di più server di report, è innanzitutto necessario configurare i server di report per la condivisione dello stesso database del server di report.

  • Per segmentare applicazioni del server di report in computer diversi, utilizzando un server per l'elaborazione interattiva dei report e un secondo server per l'elaborazione pianificata dei report. In questo scenario ogni istanza del server elabora tipi diversi di richieste per lo stesso contenuto del server di report archiviato nel database del server di report condiviso.

Le distribuzioni con scalabilità orizzontale sono costitute dagli elementi seguenti:

  • Due o più istanze del server di report che condividono un unico database del server di report.

  • Facoltativamente, un cluster con bilanciamento del carico di rete per distribuire il carico utente interattivo tra le istanze del server di report.

Quando si distribuisce Reporting Services in un cluster con bilanciamento del carico di rete, è necessario verificare che il nome del server virtuale di bilanciamento del carico venga utilizzato nella configurazione dell'URL del server di report e che i server siano configurati per condividere lo stesso stato di visualizzazione.

Sebbene Reporting Services non partecipi ai cluster di Microsoft Cluster Services, è tuttavia possibile creare il database del server di report in un'istanza del Motore di database che appartiene a un cluster di failover.

Per pianificare, installare e configurare una distribuzione con scalabilità orizzontale, effettuare le operazioni seguenti:

  • Per istruzioni su come installare istanze del server di report, vedere Installare SQL Server dall'Installazione guidata (Programma di installazione).

  • Se si intende ospitare la distribuzione con scalabilità orizzontale in un cluster con bilanciamento del carico di rete, è necessario configurare tale cluster prima di configurare la distribuzione con scalabilità orizzontale. Per altre informazioni, vedere Configurare un server di report in un cluster per il bilanciamento del carico di rete.

  • Per le linee guida su come condividere un database del server di report e aggiungere server di report a una distribuzione con scale-out, rivedere le procedure in questo articolo.

    Nelle procedure viene illustrato come configurare una distribuzione con scalabilità orizzontale di un server di report con due nodi. Ripetere i passaggi descritti in questo articolo per aggiungere altri nodi del server di report alla distribuzione.

    • Utilizzare il programma di installazione per installare ogni istanza del server di report che si desidera unire alla distribuzione con scalabilità orizzontale.

      Per evitare errori di compatibilità a livello di database al momento della connessione delle istanze del server al database condiviso, verificare che tutte le istanze abbiano la stessa versione. Se, ad esempio, il database del server di report viene creato usando un'istanza del server di report di SQL Server 2016, anche tutte le altre istanze presenti nella stessa distribuzione dovranno essere istanze di SQL Server 2016.

    • Usare Gestione configurazione del server di report per connettere ogni server di report al database condiviso. È possibile connettersi e configurare un solo server di report alla volta.

    • Utilizzare lo strumento di configurazione di Reporting Services per completare la distribuzione con scalabilità orizzontale unendo le nuove istanze del server di report alla prima istanza del server report già connessa al database del server di report.

    • Usare SQL Server Reporting Services Enterprise Edition. Per dettagli, vedere Funzionalità di SQL Server Reporting Services supportate nelle diverse edizioni.

Installare un'istanza di SQL Server per ospitare i database del server di report

  1. Installare un'istanza di SQL Server in un computer che ospiterà i database del server di report. Installare almeno il motore di database di SQL Server e Reporting Services.

  2. Se necessario, abilitare il server di report per le connessioni remote. In alcune versioni di SQL Server le connessioni TCP/IP e Named Pipes remote non sono abilitate per impostazione predefinita. Per verificare se le connessioni remote sono consentite, utilizzare Gestione configurazione SQL Server e visualizzare le impostazioni di configurazione di rete dell'istanza di destinazione. Se l'istanza remota è anche un'istanza denominata, verificare che il servizio SQL Server Browser sia abilitato e in esecuzione nel server di destinazione. SQL Server Browser fornisce il numero di porta usato per la connessione all'istanza denominata.

Nota

Le istanze denominate configurabili non sono disponibili in SQL Server Reporting Services 2017 e versioni successive o Server di report di Power BI. SQL Server Reporting Services 2017 e versioni successive useranno sempre il nome dell'istanza SSRS. Server di report di Power BI sarà sempre il nome dell'istanza PBIRS.

Account di servizio

Gli account del servizio usati per l'istanza di Reporting Services sono importanti quando si lavora con una distribuzione con scalabilità orizzontale. È necessario scegliere una delle opzioni seguenti durante la distribuzione delle istanze di Reporting Services.

Opzione 1: tutte le istanze di Reporting Services devono essere configurate con lo stesso account utente di dominio per l'account del servizio.

Opzione 2: a ogni singolo account del servizio, account di dominio o non di dominio, devono essere concesse le autorizzazioni dbadmin all'interno dell'istanza di database di SQL Server che ospita il database del catalogo ReportServer.

Se è stata specificata una configurazione diversa dalle due opzioni precedenti, è possibile che si verifichino errori intermittenti delle attività di modifica con SQL Agent. Questi errori vengono visualizzati come errori nel log di Reporting Services e nel portale Web quando si modifica una sottoscrizione report.

An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.

Il problema sarà intermittente perché solo il server che ha creato l'attività di SQL Agent disporrà dei diritti per visualizzare, eliminare o modificare l'elemento. Se non si sceglie una delle opzioni precedenti, le operazioni avranno esito negativo quando il servizio di bilanciamento del carico invia tutte le richieste per la sottoscrizione al server che crea l'attività di SQL Agent.

Installare la prima istanza del server di report

  1. Installare la prima istanza del server di report che fa parte della distribuzione. Quando si installa Reporting Services, scegliere l'opzione Installa senza configurare il server nella pagina Opzioni di installazione del server di report.

  2. Avviare lo strumento Gestione configurazione Reporting Services.

  3. Configurare l'URL del servizio Web ReportServer, l'URL del portale Web e il database del server di report. Per altre informazioni, vedere Configurare un server di report (modalità nativa di Reporting Services)

  4. Verificare che il server di report sia operativo. Per altre informazioni, vedere Verificare un'installazione di Reporting Services

Installare e configurare la seconda istanza del server di report

  1. Eseguire il programma di installazione per installare una seconda istanza di Reporting Services in un computer diverso o come istanza denominata nello stesso computer. Quando si installa Reporting Services, scegliere l'opzione Installa senza configurare il server nella pagina Opzioni di installazione del server di report.

  2. Avviare lo strumento di configurazione di Reporting Services e connettersi alla nuova istanza installata.

  3. Connettere il server di report allo stesso database utilizzato per la prima istanza del server di report:

    1. Selezionare Database per aprire la pagina Database.

    2. Selezionare Cambia database.

    3. Selezionare Scegli un database del server di report esistente.

    4. Immettere il nome del server dell'istanza del Motore di database di SQL Server che ospita il database del server di report che si desidera utilizzare. Il nome del server deve essere lo stesso a cui ci si è connessi durante i passaggi del set di istruzioni precedente.

    5. Selezionare Test connessione, quindi scegliere Avanti.

    6. In Database del server di report selezionare il database creato per il primo server di report, quindi scegliere Avanti. Il nome predefinito è ReportServer. Non selezionare ReportServerTempDB. Questo viene utilizzato solo per l'archiviazione temporanea dei dati durante l'elaborazione dei report. Se l'elenco dei database è vuoto, ripetere i quattro passaggi precedenti per stabilire una connessione al server.

    7. Nella pagina Credenziali selezionare il tipo di account e il tipo di credenziali utilizzati dal server di report per la connessione al database del server di report. È possibile utilizzare le stesse credenziali della prima istanza del server di report oppure altre credenziali. Selezionare Avanti.

    8. Selezionare Riepilogo e quindi scegliere Fine.

  4. Configurare l' URL servizio WebReportServer. Non eseguire ancora il test dell'URL. L'URL non potrà risolvere se prima il server di report non viene unito alla distribuzione con scalabilità orizzontale.

  5. Configurare l' URL del portale Web. Non eseguire ancora il test dell'URL e non tentare di verificare la distribuzione. Il server di report non è disponibile fino a quando non viene unito alla distribuzione con scalabilità orizzontale.

Unire la seconda istanza del server di report alla distribuzione con scalabilità orizzontale

  1. Aprire lo strumento di configurazione di Reporting Services e connettersi alla prima istanza del server di report. Poiché il primo server di report è già inizializzato per operazioni di crittografia reversibile, potrà essere utilizzato per unire altre istanze del server di report alla distribuzione con scalabilità orizzontale.

  2. Selezionare Distribuzione con scalabilità orizzontale per aprire la pagina Distribuzione con scalabilità orizzontale. Verranno visualizzate due voci, una per ciascuna istanza del server di report connessa al database del server di report. La prima istanza del server di report risulterà già unita. Il secondo server di report sarà identificato come "In attesa dell'unione". Se non viene visualizzata alcuna voce simile per la distribuzione, verificare di essere connessi al primo server di report già configurato e inizializzato per l'utilizzo del database del server di report.

    Screenshot that partially shows the scale-out deployment page.

  3. Nella pagina Distribuzione con scalabilità orizzontale selezionare l'istanza del server di report in attesa dell'aggiunta alla distribuzione, quindi selezionare Aggiungi server.

    Nota

    Problema: quando si cerca di aggiungere un'istanza del server di report di Reporting Services alla distribuzione con scalabilità orizzontale, potrebbero essere visualizzati messaggi di errore di tipo "Accesso negato".

    Soluzione alternativa: eseguire il backup della chiave di crittografia di Reporting Services dalla prima istanza di Reporting Services e ripristinare la chiave nel secondo server di report di Reporting Services. Successivamente, tentare di aggiungere il secondo server alla distribuzione con scalabilità orizzontale di Reporting Services.

  4. A questo punto dovrebbe essere possibile verificare che entrambe le istanze del server di report siano operative. Per verificare la seconda istanza, è possibile usare lo strumento Configurazione di Reporting Services per connettersi al server di report e selezionare URL servizio Web o URL del portale Web.

Se si prevede di eseguire i server di report in un cluster di report con carico bilanciato, sono necessarie ulteriori operazioni di configurazione. Per altre informazioni, vedere Configurare un server di report in un cluster per il bilanciamento del carico di rete.

Altre domande? Visitare il forum su Reporting Services.