Pianificazione della distribuzione con scalabilità orizzontale

Per distribuzione con scalabilità orizzontale di un server di report si intendono due o più istanze del server di report che condividono un singolo database del server di report. Una distribuzione con scalabilità orizzontale consente di aumentare il numero di utenti che accedono contemporaneamente ai report e di migliorare la disponibilità del server di report. Se si utilizza questa topologia di distribuzione, è consigliabile, ma non obbligatorio, configurare le istanze del server di report con impostazioni identiche. È possibile configurare ciascun server su funzionalità specifiche ed eseguirli come istanze indipendenti, ad esempio per isolare l'elaborazione di report interattivi dall'elaborazione di report pianificati o sottoscrizioni.

Nell'elenco seguente sono riepilogati gli scenari supportati in una distribuzione con scalabilità orizzontale:

  • Eseguire istanze del server di report in una soluzione con carico bilanciato per supportare la creazione di volumi elevati di report su richiesta.

  • Aumentare la disponibilità del server di report.

  • Isolare le caratteristiche del servizio in computer specifici per massimizzare l'utilizzo di tutte le risorse di sistema disponibili e continuare ad archiviare e recuperare gli stessi dati dallo stesso database del server di report.

Di seguito sono indicati i requisiti per una distribuzione con scalabilità orizzontale.

Requisito

Descrizione

Requisiti di edizione

La distribuzione con scalabilità orizzontale è supportata nelle edizioni Enterprise, Developer ed Evaluation.

La distribuzione con scalabilità orizzontale non è supportata nelle edizioni Standard, Workgroup ed Express.

Requisiti di versione

Tutti i server di report devono appartenere alla stessa versione principale e disporre degli stessi aggiornamenti e service pack.

Requisiti di dominio

Tutti i server di report devono essere nello stesso dominio o in un dominio di tipo trusted.

Requisiti di autenticazione

Le istanze del server di report in una distribuzione con scalabilità orizzontale devono disporre dello stesso tipo di estensione di autenticazione. Se è stata creata un'estensione di autenticazione personalizzata, è necessario distribuirla e utilizzarla in tutti i nodi. In una distribuzione con scalabilità orizzontale è necessario configurare gli stessi tipi di autenticazione su ogni nodo.

A causa di questa restrizione, non è possibile configurare una distribuzione con scalabilità orizzontale per supportare l'accesso simultaneo di reti Intranet ed Extranet allo stesso database del server di report tramite istanze del server di report distinte, ciascuna delle quali configurata per tipi di autenticazione e regole di autorizzazione differenti.

Questa limitazione esiste perché in Reporting Services le impostazioni di autorizzazione personalizzate non vengono sincronizzate tra tipi di autenticazione diversi. Se si interrompe l'ereditarietà delle autorizzazioni e si creano assegnazioni di ruolo per elementi specifici, quando un utente autenticato tramite l'altro provider di autenticazione accede all'elemento verranno generati errori di accesso negato. Per risolvere questo problema, è necessario duplicare tutte le assegnazioni di ruolo specifiche dell'elemento attraverso i due server per ottenere criteri di sicurezza per entrambe le estensioni di autenticazione. Questa procedura laboriosa e soggetta a errori genererà molto probabilmente errori di accesso negato. Per questo motivo, lo scenario non è supportato.

Nelle sezioni rimanenti di questo argomento vengono fornite ulteriori informazioni sugli scenari non supportati.

Distribuzione con scalabilità orizzontale per le soluzioni con carico bilanciato

Dopo la configurazione di una distribuzione con scalabilità orizzontale del server di report, è possibile eseguire il bilanciamento del carico dei nodi del server di report in un cluster per il bilanciamento del carico di rete in modo da supportare la creazione di volumi elevati di report. Per implementare il cluster per il bilanciamento del carico di rete, è possibile utilizzare una soluzione software o hardware. La distribuzione di Reporting Services in un cluster con bilanciamento del carico di rete è necessaria solo per aumentare la velocità di risposta del server di report o il numero di report interattivi che è possibile elaborare contemporaneamente. L'elaborazione di report pianificati e sottoscrizioni risulta più veloce in una distribuzione con scalabilità orizzontale, ma per ottenere prestazioni migliori in termini di velocità non è richiesto un cluster per il bilanciamento del carico di rete.

Per creare e configurare il cluster per il bilanciamento del carico di rete, è necessario utilizzare software e strumenti che supportino tale funzionalità. Nei sistemi operativi di Microsoft Windows Server e in applicazioni di terze parti sono disponibili caratteristiche di bilanciamento del carico. Reporting Services non fornisce caratteristiche di bilanciamento del carico né la possibilità di definire un unico URL di server virtuale per accedere a più nodi del server di report. La soluzione hardware o software scelta deve consentire di definire un nome di server virtuale che fornisca un singolo punto di ingresso per tutti i nodi in una distribuzione con scalabilità orizzontale del server di report. 

Reporting Services non riconosce Microsoft Cluster Services. Se si utilizza Microsoft Cluster Services, esaminare le informazioni seguenti:

  • Se Reporting Services è in esecuzione su un cluster attivo-passivo con Microsoft Cluster Services, il servizio ReportServer viene eseguito e gestisce le richieste su ogni nodo cluster su cui viene distribuito il servizio.

  • Quando un database del server di report è ospitato su un SQL Server che fa parte di un cluster di failover, il server di report deve essere configurato per utilizzare il nome virtuale di tale cluster per connettersi al database del server di report. In caso contrario, non sarà in grado di connettersi al database del server di report quando si verifica un failover.

  • Non è possibile distribuire un server di report in Microsoft Cluster Services tramite il clustering di failover di SQL Server. È tuttavia possibile installare il server di report con l'opzione "solo file" durante un'installazione di SQL Server. 

Per configurare la distribuzione

  1. Configurare due o più server per l'esecuzione in un cluster con bilanciamento del carico di rete.

  2. Configurare un server separato sull'hosting del database del server di report.

  3. Installare e configurare una distribuzione con scalabilità orizzontale del server di report attraverso l'installazione di un'istanza del server di report su ogni nodo nel cluster con bilanciamento del carico di rete. Per ulteriori informazioni su come installare i server di report e unirli a una distribuzione con scalabilità orizzontale, vedere Procedura: Configurazione di una distribuzione con scalabilità orizzontale del server di report (configurazione di Reporting Services).

  4. Configurare la convalida dello stato di visualizzazione e controllare la configurazione del server di report. Per ulteriori informazioni, vedere Procedura: Configurazione di un server di report in un cluster per il bilanciamento del carico di rete.

  5. Su ogni nodo nella distribuzione con scalabilità orizzontale configurare la proprietà Hostname del server di report affinché utilizzi il nome dell'URL del bilanciamento del carico di rete. Questo passaggio consente di configurare gli URL generati dal server di report affinché puntino al bilanciamento del carico di rete anziché a un server specifico. Per ulteriori informazioni, vedere Procedura: Configurazione di un server di report in un cluster per il bilanciamento del carico di rete.

Distribuzione con scalabilità orizzontale per il miglioramento delle prestazioni delle caratteristiche del servizio

Una tecnica che consente di migliorare le prestazioni del server di report consiste nel configurare una distribuzione con scalabilità orizzontale che assegni tipi di elaborazione specifici a ogni server di report. È possibile, ad esempio, configurare un server di report per la gestione dell'elaborazione di report pianificati e sottoscrizioni e un secondo server di report per la creazione di report interattivi. Poiché i server di report vengono eseguiti nella stessa distribuzione con scalabilità orizzontale, ogni server elabora lo stesso set di report.

Per configurare la distribuzione

  1. Installare e configurare una distribuzione con scalabilità orizzontale di un server di report. Per istruzioni, vedere Procedura: Configurazione di una distribuzione con scalabilità orizzontale del server di report (configurazione di Reporting Services).

  2. Sul server utilizzato per la creazione di report interattivi disattivare l'elaborazione di report pianificati e sottoscrizioni.

  3. Sull'altro server utilizzato per l'elaborazione in background disattivare il servizio Web ReportServer e Gestione report.

Per ulteriori informazioni sulla disattivazione di funzionalità specifiche, vedere Procedura: Attivazione o disattivazione delle caratteristiche di Reporting Services.

Aspetti da considerare nelle distribuzioni con scalabilità orizzontale

Versioni diverse del sistema operativo supportano impostazioni cultura e regole di confronto diverse.

Se nella distribuzione con scalabilità orizzontale sono inclusi computer che eseguono versioni diverse del sistema operativo, tali computer potrebbero inoltre supportare impostazioni cultura e regole di confronto diverse. Di conseguenza, è possibile che vengano generati report incoerenti o errori quando i report vengono elaborati e sono sottoposti a rendering.

Durante la progettazione di un report, l'autore del report può configurare le proprietà del report o oggetti del report che influiscono sulle impostazioni cultura utilizzate durante l'elaborazione e il rendering del report. Questo può produrre dati incoerenti o errori causati da versioni diverse dei sistemi operativi che supportano impostazioni cultura diverse e comportare l'elaborazione non coerente dei report da parte dello stesso server in una distribuzione con scalabilità orizzontale.

È ad esempio possibile che nella distribuzione con scalabilità orizzontale siano inclusi un server con Windows 2003 e un altro con Windows 2008. In una distribuzione con scalabilità orizzontale Reporting Services presuppone che nell'ambiente di rete verrà utilizzato software o hardware per bilanciare le richieste inviate ai diversi server. Tuttavia, Reporting Services non richiede o non presuppone che la soluzione per il bilanciamento del carico utilizzata esegua l'indirizzamento di tutte le richieste di una particolare sessione utente a un singolo server. La soluzione per il bilanciamento del carico è libera di inviare una richiesta di pagina al server con Windows 2008 e la richiesta di pagina successiva al server con Windows 2003. In questo esempio viene elaborato un report che utilizza regole di confronto supportate nel server con Windows 2008 ma non nel server con Windows 2003. Questa disponibilità non coerente delle regole di confronto previste durante l'elaborazione e il rendering del report potrebbe produrre risultati del report incoerenti. Di seguito vengono riportati alcuni esempi dei sintomi che potrebbero presentarsi:

  • Durante l'elaborazione di report per i quali è necessario eseguire un raggruppamento, un ordinamento o un'applicazione di filtri aggiuntivo è possibile che vengano utilizzate regole di confronto errate, con conseguente generazione di risultati errati.

  • La funzionalità HideDuplicates potrebbe utilizzare regole di confronto errate, con conseguente generazione di risultati errati per valori nascosti e visibili.

  • Le funzionalità Lookup, LookupSet e MultiLookup potrebbero utilizzare regole di confronto errate, con conseguente generazione di risultati errati.

Le proprietà che interagiscono con le impostazioni cultura e relative alla lingua potrebbero essere influenzate dall'elaborazione in sistemi operativi diversi. Di seguito viene riportato un elenco di alcune delle proprietà influenzate:

  • Proprietà Language di un report

  • Proprietà Collation di un set di dati

  • Proprietà LableLocId e ValueLocID di elementi del report

Per risolvere il problema, considerare le indicazioni seguenti:

  • Utilizzare la stessa versione del sistema operativo in tutti i server di distribuzioni con scalabilità orizzontale

  • Se si dispone di versioni del sistema operativo diverse, per la creazione dei report utilizzare esclusivamente le impostazioni cultura supportate in tutti i server.

  • Impostare l'affinità nella soluzione per il bilanciamento del carico utilizzata, in modo che tutte le richieste per un particolare report e sessione utente vengano indirizzate allo stesso server.