Configurazione della connessione a un database del server di report

Ogni istanza del server di report richiede una connessione al database del server di report in cui sono archiviati report, modelli di report, origini dei dati condivise, risorse e metadati gestiti dal server. La connessione iniziale può essere creata durante l'installazione del server di report, se si sta installando la configurazione predefinita. Nella maggior parte dei casi è possibile utilizzare lo strumento di configurazione di Reporting Services per configurare la connessione al termine dell'installazione. È possibile modificare la connessione in qualsiasi momento per cambiare il tipo di account o reimpostare le credenziali. Per istruzioni dettagliate su come creare il database e configurare la connessione, vedere Procedura: Creazione di un database del server di report (configurazione di Reporting Services).

È necessario configurare un database del server di report nei casi seguenti:

  • Configurazione di un server di report per il primo utilizzo.

  • Configurazione di un server di report per utilizzare un database diverso del server di report.

  • Modifica dell'account utente o della password utilizzati per la connessione al database. È necessario aggiornare la connessione al database solo quando le informazioni dell'account sono archiviate nel file RSReportServer.config. Se la connessione viene eseguita tramite l'account del servizio, che utilizza la sicurezza integrata di Windows come tipo di credenziali, la password non viene archiviata e non è quindi necessario aggiornare le informazioni di connessione. Per ulteriori informazioni sulla modifica degli account, vedere Configurazione dell'account del servizio del server di report.

  • Configurazione della distribuzione con scalabilità orizzontale di un server di report. Per configurare una distribuzione con scalabilità orizzontale è necessario creare più connessioni a un database del server di report. Per ulteriori informazioni sull'esecuzione di questa operazione in più passaggi, vedere Procedura: Configurazione di una distribuzione con scalabilità orizzontale del server di report (configurazione di Reporting Services).

Modalità di connessione di Reporting Services al Motore di database

L'accesso del server di report a un database del server di report dipende dalle credenziali e dalle informazioni di connessione, nonché dalle chiavi di crittografia valide per l'istanza del server di report che utilizza quel database. Per archiviare e recuperare dati riservati è necessario disporre di chiavi di crittografia valide. Le chiavi di crittografia vengono create automaticamente alla prima configurazione del database. In seguito alla creazione delle chiavi, è necessario aggiornarle se si modifica l'identità del servizio del server di report. Per ulteriori informazioni sull'utilizzo delle chiavi di crittografia, vedere Configurazione e gestione delle chiavi di crittografia.

Il database del server di report è un componente interno, a cui accede solo il server di report. Le credenziali e le informazioni di connessione specificate per il database del server di report vengono utilizzate esclusivamente dal server di report. Gli utenti che richiedono i report, non devono disporre di autorizzazioni per il database o di un account di accesso al database per il database del server di report.

Reporting Services utilizza System.Data.SqlClient per connettersi al Motore di database che ospita il database del server di report. Se si utilizza un'istanza locale del Motore di database, il server di report stabilirà la connessione tramite memoria condivisa. Se si utilizza un server database remoto per il database del server di report, a seconda dell'edizione utilizzata potrebbe essere necessario attivare le connessioni remote. Se si utilizza l'edizione Developer Edition, le connessioni remote sono disattivate per impostazione predefinita. Se si utilizza l'edizione Enterprise Edition, le connessioni remote sono attivate per TCP/IP per impostazione predefinita.

Per verificare che l'istanza accetti connessioni remote, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2008 R2, Strumenti di configurazione, Gestione configurazione SQL Server, quindi verificare che il protocollo TCP/IP sia attivato per ogni servizio.

Quando si attivano le connessioni remote, vengono attivati anche i protocolli client e server. Per verificare che i protocolli siano attivati, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2008 R2, Strumenti di configurazione, Gestione configurazione SQL Server, Configurazione di rete SQL Server, quindi Protocolli per MSSQLSERVER. Per ulteriori informazioni, vedere Procedura: Abilitazione o disabilitazione di un protocollo di rete del server (Gestione configurazione SQL Server) nella documentazione online di SQL Server.

Definizione della connessione a un database del server di report

Per configurare la connessione, è necessario utilizzare Gestione configurazione di Reporting Services o l'utilità della riga di comando rsconfig. Un server di report richiede le informazioni seguenti sulla connessione:

  • Nome dell'istanza del Motore di database che ospita il database del server di report.

  • Nome del database del server di report. Quando si crea una connessione per la prima volta, è possibile creare un nuovo database del server di report oppure selezionare un database esistente. Per ulteriori informazioni, vedere Creazione di un database del server di report.

  • Tipo di credenziali. È possibile utilizzare gli account di servizio, un account di dominio di Windows o un account di accesso al database di SQL Server.

  • Nome utente e password, necessari solo se si utilizza un account di dominio di Windows o un account di accesso di SQL Server.

Alle credenziali fornite deve essere concesso l'accesso al database del server di report. Se si utilizza lo strumento di configurazione di Reporting Services, questo passaggio verrà eseguito automaticamente. Per ulteriori informazioni sulle autorizzazioni necessarie per accedere al database, vedere la sezione "Autorizzazioni per il database" di questo argomento.

Archiviazione delle informazioni di connessione al database

In Reporting Services le informazioni di connessione vengono archiviate e crittografate nelle impostazioni di RSreportserver.config seguenti. Per creare valori crittografati per queste impostazioni, è necessario utilizzare lo strumento di configurazione di Reporting Services o l'utilità rsconfig.

Non tutti i valori vengono impostati per ogni tipo di connessione. Se si configura la connessione utilizzando i valori predefiniti, ovvero si stabilisce la connessione utilizzando gli account del servizio, <LogonUser>, <LogonDomain> e <LogonCred> risulteranno vuoti, come indicato di seguito:

<Dsn></Dsn>
<ConnectionType></ConnectionType>
<LogonUser></LogonUser>
<LogonDomain></LogonDomain>
<LogonCred></LogonCred>

Se si configura la connessione per l'utilizzo di un account di Windows o un account di accesso al database specifico, è necessario ricordarsi di aggiornare i valori archiviati, se in un secondo momento si modifica l'account di Windows o quello di accesso.

Scelta del tipo di credenziali

In una connessione a un database del server di report è possibile utilizzare tre tipi di credenziali:

  • Sicurezza integrata di Windows tramite l'account del servizio del server di report. Poiché il server di report è implementato come singolo servizio, solo l'account utilizzato per l'esecuzione del servizio deve disporre di accesso al database.

  • Account utente di Windows. Se il server di report e il relativo database sono installati sullo stesso computer, è possibile utilizzare un account locale. In caso contrario, è necessario utilizzare un account di dominio.

  • Account di accesso di SQL Server.

Nota

Non è possibile utilizzare un'estensione di autenticazione personalizzata per connettersi a un database del server di report. Le estensioni di autenticazione personalizzate sono utilizzate solo per autenticare un'entità a un server di report. Tali estensioni non influiscono sulle connessioni al database del server di report o alle origini dati esterne che forniscono contenuto ai report.

Se l'istanza del Motore di database è configurata per l'autenticazione di Windows e si trova nello stesso dominio o in un dominio trusted con il computer server di report, è possibile configurare la connessione per l'utilizzo dell'account del servizio o di un account utente di dominio da gestire come proprietà di connessione tramite lo strumento di configurazione di Reporting Services. Se il server database si trova in un dominio diverso o si utilizza la sicurezza dei gruppi di lavoro, è necessario configurare la connessione per l'utilizzo di un account di accesso al database di SQL Server. In questo caso, assicurarsi di crittografare la connessione. Per ulteriori informazioni, vedere Crittografia delle connessioni a SQL Server nella documentazione online di SQL Server.

Utilizzo di account di servizio e sicurezza integrata

È possibile utilizzare la sicurezza integrata di Windows per connettersi tramite l'account di servizio del server di report. All'account vengono concessi diritti di accesso al database del server di report. Si tratta del tipo di credenziali predefinito scelto dal programma di installazione se Reporting Services viene installato nella configurazione predefinita.

L'account del servizio è un account attendibile che consente di adottare un approccio con interventi minimi di manutenzione per la gestione di una connessione al database del server di report. Poiché l'account del servizio utilizza la sicurezza integrata di Windows per stabilire la connessione, non è necessario archiviare le credenziali. Se in seguito, tuttavia, si modifica la password dell'account del servizio o l'identità, ad esempio passando da un account predefinito a un account di dominio, assicurarsi di utilizzare lo strumento di configurazione di Reporting Services per apportare la modifica. Lo strumento aggiorna automaticamente le autorizzazioni per il database per utilizzare le informazioni sull'account modificate. Per ulteriori informazioni, vedere Configurazione dell'account del servizio del server di report.

Se si configura la connessione di database per l'utilizzo dell'account del servizio, l'account dovrà disporre di autorizzazione di rete se il database del server di report si trova in un computer remoto. Non utilizzare l'account di servizio se il database del server di report si trova in un dominio diverso, dietro un firewall o se si utilizza la sicurezza dei gruppi di lavoro anziché la sicurezza di dominio. Utilizzare invece un account utente del database di SQL Server.

Utilizzo di un account utente di dominio

È possibile specificare un account utente di Windows per la connessione del server di report al database del server di report. Se si utilizza un account locale o di dominio, è necessario aggiornare la connessione al database del server di report ogni volta che si modifica la password o l'account. Per aggiornare la connessione, utilizzare sempre lo strumento di configurazione di Reporting Services.

Utilizzo di un account di accesso di SQL Server

È possibile specificare un singolo account di accesso di SQL Server per la connessione al database del server di report. Se si utilizza l'autenticazione di SQL Server e il database del server di report si trova in un computer remoto, utilizzare IPSec per proteggere la trasmissione dei dati tra i server. Se si utilizza un account di accesso al database, è necessario aggiornare la connessione al database del server di report ogni volta che si modifica la password o l'account.

Autorizzazioni per il database

Agli account utilizzati per connettersi al database del server di report vengono concessi i ruoli seguenti:

  • Ruoli public e RSExecRole per il database ReportServer.

  • Ruolo RSExecRole per i database master, msdb e ReportServerTempDB.

Quando si utilizza lo strumento di configurazione di Reporting Services per creare o modificare la connessione, queste autorizzazioni vengono concesse automaticamente. Se si utilizza l'utilità rsconfig e si specifica un account diverso per la connessione, è necessario aggiornare l'account di accesso di SQL Server per il nuovo account. È possibile creare file script nello strumento di configurazione di Reporting Services per aggiornare l'account di accesso di SQL Server per il server di report.

Verifica del nome di database

Utilizzare lo strumento di configurazione di Reporting Services per determinare il database del server di report utilizzato da un'istanza del server di report specifica. Per individuare il nome, connettersi all'istanza del server di report e aprire la pagina Impostazioni database.

Utilizzo di un database diverso del server di report o spostamento di un database del server di report

È possibile configurare un'istanza del server di report in modo da utilizzare un database diverso del server di report modificando le informazioni di connessione. In genere, si rende necessario cambiare database quando si distribuisce un server di report di produzione. In questo caso si passa da un database del server di report di prova a un database del server di report di produzione. È inoltre possibile spostare un database del server di report in un altro computer. Per ulteriori informazioni, vedere Spostamento di database del server di report in un altro computer e Migrazione (Reporting Services) nella documentazione online di SQL Server.

Configurazione di più server di report per garantire l'utilizzo dello stesso database del server di report

È possibile configurare più server di report in modo che utilizzino lo stesso database del server di report. Questa configurazione di distribuzione è denominata distribuzione con scalabilità orizzontale e costituisce un prerequisito se si desidera eseguire più server di report in un cluster di server. È tuttavia possibile utilizzare tale configurazione se si desidera segmentare le applicazioni del servizio o eseguire il test dell'installazione e delle impostazioni di una nuova istanza del server di report per confrontarla con un'installazione del server di report esistente. Per ulteriori informazioni, vedere Configurazione di Reporting Services per una distribuzione con scalabilità orizzontale.