Spostamento di database del server di report in un altro computer

È possibile spostare i database del server di report utilizzati in un'installazione corrente in un'istanza di SQL Server Motore di database in un computer diverso. I database reportserver e reportservertempdb devono essere spostati e copiati insieme. Per un'installazione di Reporting Services sono necessari entrambi i database. Il database reportservertempdb deve essere correlato tramite il nome al database reportserver primario che si sta spostando.

Lo spostamento di un database non influisce sulle operazioni pianificate attualmente definite per gli elementi del server di report.

  • Le pianificazioni vengono ricreate la prima volta che si riavvia il servizio del server di report.

  • In SQL Server Agent i processi utilizzati per attivare una pianificazione verranno ricreati nella istanza del database. Non è necessario spostare i processi nel nuovo computer, ma è necessario eliminare quelli che non verranno più utilizzati.

  • Le sottoscrizioni, gli snapshot e i report memorizzati nella cache vengono mantenuti nel database spostato. Se uno snapshot non esegue la scelta di dati aggiornati dopo che il database è stato spostato, deselezionare le opzioni relative in Gestione report, fare clic su Applica per salvare le modifiche, ricreare la pianificazione e fare nuovamente clic su Applica per salvare le modifiche.

  • Il report temporaneo e i dati della sessione utente archiviati nel database reportservertempdb vengono mantenuti quando si sposta il database.

In SQL Server sono disponibili diversi modi per spostare i database, tra cui backup e ripristino, collegamento e scollegamento e copia. Non tutti gli approcci sono appropriati per spostare un database esistente in una nuova istanza del server. L'approccio da utilizzare per spostare il database del server di report dipende dai requisiti di disponibilità del sistema. Il modo più semplice per spostare i database del server di report consiste nel collegarli e scollegarli. Questo approccio richiede tuttavia di portare in modalità non in linea il server di report mentre lo si scollega. Il backup e il ripristino rappresentano un'opzione migliore se si desidera ridurre al minimo le interruzioni del servizio, tuttavia per eseguire queste operazioni è necessario utilizzare comandi Transact-SQL. La copia del database, in particolare l'utilizzo della procedura Copia guidata database, non è consigliabile in quanto non consente di mantenere le impostazioni delle autorizzazioni nel database.

Nota importanteImportante

È consigliabile eseguire la procedura descritta in questo argomento quando lo spostamento del database del server di report è l'unica modifica che si desidera apportare all'installazione esistente. Per la migrazione di un'installazione di Reporting Services completa, ovvero spostamento del database e modifica dell'identità del servizio Windows ReportServer che utilizza il database, è obbligatorio riconfigurare le informazioni di connessione e reimpostare la chiave di crittografia. Per ulteriori informazioni sulla migrazione di un'installazione di Reporting Services, vedere Migrazione (Reporting Services).

Scollegamento e collegamento dei database del server di report

Se il server di report può essere portato in modalità offline, è possibile scollegare i database per spostarli nell'istanza di SQL Server da utilizzare. In questo modo, è possibile mantenere le autorizzazioni presenti nei database. Se si utilizza un database di SQL Server 2008, è necessario spostarlo in un'altra istanza di SQL Server 2008. Dopo avere spostato i database, è necessario riconfigurare la connessione del server di report al database del server di report. Se si sta eseguendo una distribuzione con scalabilità orizzontale, è necessario riconfigurare la connessione al database del server di report per ogni server di report della distribuzione.

Per spostare i database, eseguire la procedura seguente:

  1. Eseguire il backup delle chiavi di crittografia per il database del server di report da spostare. Per eseguire questa operazione, è possibile utilizzare lo strumento di configurazione di Reporting Services.

  2. Interrompere il servizio del server di report. Per eseguire questa operazione, è possibile utilizzare lo strumento di configurazione di Reporting Services.

  3. Avviare SQL ServerManagement Studio e stabilire una connessione all'istanza di SQL Server che ospita i database del server di report.

  4. Fare clic con il pulsante destro del mouse sul database del server di report, scegliere Attività e quindi Scollega. Ripetere il passaggio per il database temporaneo del server di report.

  5. Copiare o spostare i file con estensione mdf e ldf nella cartella Dati dell'istanza di SQL Server da utilizzare. Poiché si stanno spostando due database, verificare di spostare o copiare tutti e quattro i file.

  6. In Management Studio stabilire una connessione alla nuova istanza di SQL Server che ospiterà i database del server di report.

  7. Fare clic con il pulsante destro del mouse sul nodo Database e quindi scegliere Collega.

  8. Fare clic su Aggiungi per selezionare i file con estensione mdf e ldf del database del server di report che si desidera collegare. Ripetere il passaggio per il database temporaneo del server di report.

  9. Dopo avere collegato i database, verificare che RSExecRole sia un ruolo del database nel database del server di report e nel database temporaneo. Il ruolo RSExecRole deve disporre delle autorizzazioni di selezione, inserimento, aggiornamento, eliminazione e riferimento nelle tabelle del database del server di report e delle autorizzazioni di esecuzione nelle stored procedure. Per ulteriori informazioni, vedere Procedura: Creazione di RSExecRole.

  10. Avviare lo strumento di configurazione di Reporting Services e connettersi al server di report.

  11. Nella pagina Database selezionare la nuova istanza di SQL Server, quindi fare clic su Connetti.

  12. Selezionare il database del server di report appena spostato e quindi fare clic su Applica.

  13. Nella pagina Chiavi di crittografia fare clic su Ripristina. Specificare il file che contiene la copia di backup delle chiavi e la password per sbloccare il file.

  14. Riavviare il servizio del server di report.

Backup e ripristino dei database del server di report

Se il server di report non può essere portato in modalità non in linea, è possibile spostare i database del server di report tramite backup e ripristino. È necessario utilizzare l'opzione "Copy_Only". A partire da SQL Server 2008, SQL Server Management Studio supporta i backup di sola copia. Dopo avere ripristinato i database, è necessario configurare il server di report per l'utilizzo del database nella nuova istanza del server. Per ulteriori informazioni, vedere le istruzioni alla fine di questo argomento.

Utilizzo di BACKUP e COPY_Only per eseguire il backup dei database del server di report

Quando si eseguite il backup dei database, impostare l'opzione COPY_OnlyL e il tipo di backup su Completo.

[!NOTA]

Accertarsi di eseguire il backup di entrambi i database ReportServer e ReportServerTempDB, nonché dei file di log associati.

Per ulteriori informazioni sull'utilizzo di SQL Server Management Studio per eseguire il backup di un database, vedere Procedura: Esecuzione del backup di un database (SQL Server Management Studio)

Utilizzo di RESTORE e MOVE per spostare i database del server di report

Quando si ripristinano i database, è possibile utilizzare l'argomento RESTORE WITH NORECOVERY per eseguire il ripristino iniziale. In questo modo, il database viene mantenuto in uno stato di ripristino, consentendo di analizzare i backup dei log per determinare quali ripristinare. Si ripeterà quindi l'operazione RESTORE, utilizzando tuttavia l'argomento RESTORE WITH RECOVERY.

[!NOTA]

Accertarsi di ripristinare entrambi i database ReportServer e ReportServerTempDB, nonché i file di log associati.

Per ulteriori informazioni sull'utilizzo di SQL Server Management Studio per ripristinare un database, vedere Procedura: Ripristino di un backup del database (SQL Server Management Studio)

Come configurare la connessione al database del server di report

  1. Avviare lo strumento di configurazione di Reporting Services e connettersi al server di report.

  2. Nella pagina Database fare clic su Cambia database. Scegliere Avanti.

  3. Fare clic su Scegli un database del server di report esistente. Scegliere Avanti.

  4. Selezionare l'istanza di SQL Server che ospita attualmente il database del server di report, quindi fare clic su Test connessione. Scegliere Avanti.

  5. In Nome database selezionare il database del server di report da utilizzare. Scegliere Avanti.

  6. In Credenziali specificare le credenziali che il server di report utilizzerà per la connessione al database relativo. Scegliere Avanti.

  7. Fare clic su Avanti, quindi su Fine.

[!NOTA]

Per un'installazione di Reporting Services è necessario che nell'istanza di Motore di database di SQL Server sia incluso il ruolo RSExecRole. Quando si imposta la connessione al database del server di report tramite lo strumento di configurazione di Reporting Services, vengono eseguite le operazioni di creazione dei ruoli, registrazione dell'account di accesso e assegnazione di ruoli. Se per configurare la connessione si utilizzano approcci alternativi, in particolare l'utilità della riga di comando rsconfig.exe, il server di report non si troverà in uno stato attivo. Per renderlo disponibile il server di report, potrebbe essere necessario scrivere codice WMI. Per ulteriori informazioni, vedere Provider WMI di Reporting Services.