Condividi tramite


Spostamento di un database del server di report in un altro computer

Data aggiornamento: 14 aprile 2006

È possibile spostare i database del server di report utilizzati in un'installazione corrente in un'istanza del Motore di database di SQL Server che si trova in un computer diverso. I database reportserver e reportservertempdb devono essere spostati o 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 ha effetto sulle operazioni pianificate attualmente definite per gli elementi del server di report. Le pianificazioni vengono ricreate la prima volta che si riavvia il servizio Windows ReportServer. Le sottoscrizioni, gli snapshot e i report memorizzati nella cache vengono mantenuti nel database spostato. 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 varia in base alla necessità di garantire tempi di attività elevati. 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.

ms156421.note(it-it,SQL.90).gifImportante:
È 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 di Reporting Services.

Scollegamento e collegamento dei database del server di report

Se il server di report può essere portato in modalità non in linea, è possibile scollegare i database per spostarli nell'istanza di SQL Server che si desidera utilizzare. In questo modo, è possibile mantenere le autorizzazioni presenti nei database. Se si utilizza un database di SQL Server 2005, è necessario spostarlo in un'altra istanza del Motore di database di SQL Server 2005. 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. Interrompere il servizio Web e il servizio Windows ReportServer. Per interrompere il servizio Web ReportServer, interrompere il pool di applicazioni che ospita il servizio.
  2. Avviare SQL Server Management Studio e stabilire una connessione all'istanza di SQL Server che ospita i database del server di report.
  3. 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.
  4. Copiare o spostare i file con estensione mdf e ldf nella cartella Data dell'istanza di SQL Server che si desidera utilizzare. Poiché si stanno spostando due database, verificare di spostare o copiare tutti e quattro i file.
  5. In Management Studio stabilire una connessione alla nuova istanza di SQL Server che ospiterà i database del server di report.
  6. Fare clic con il pulsante destro del mouse sul nodo Database e quindi scegliere Collega.
  7. 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.
  8. 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, creazione, aggiornamento, eliminazione e riferimento nelle tabelle del database del server di report e delle autorizzazioni di esecuzione nelle stored procedure.
  9. Avviare lo strumento Gestione configurazione Reporting Services e stabilire una connessione al server di report.
  10. Nella pagina Impostazioni database selezionare la nuova istanza di SQL Server e quindi fare clic su Connetti.
  11. Selezionare il database del server di report appena spostato e quindi fare clic su Applica.
  12. Riavviare il servizio Web e il servizio Windows ReportServer.

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. A tale scopo, è necessario utilizzare istruzioni Transact-SQL. SQL Server Management Studio non 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_ALL per eseguire il backup dei database del server di report

Quando si esegue il backup dei database, impostare l'argomento COPY_ALL. Accertarsi di eseguire il backup di entrambi i database e i file di log.

-- To permit log backups, before the full database backup, alter the database 
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServer
   SET RECOVERY FULL

-- If the ReportServerData device does not exist yet, create it. 
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerData', 
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\ReportServerData.bak'

-- Create a logical backup device, ReportServerLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerLog', 
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\ReportServerLog.bak'

-- Back up the full ReportServer database.
BACKUP DATABASE ReportServer
   TO ReportServerData
   WITH COPY_ONLY

-- Back up the ReportServer log.
BACKUP LOG ReportServer
   TO ReportServerLog
   WITH COPY_ONLY

-- To permit log backups, before the full database backup, alter the database 
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServerTempdb
   SET RECOVERY FULL

-- If the ReportServerTempDBData device does not exist yet, create it. 
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBData', 
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\ReportServerTempDBData.bak'

-- Create a logical backup device, ReportServerTempDBLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBLog', 
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\ReportServerTempDBLog.bak'

-- Back up the full ReportServerTempDB database.
BACKUP DATABASE ReportServerTempDB
   TO ReportServerTempDBData
   WITH COPY_ONLY

-- Back up the ReportServerTempDB log.
BACKUP LOG ReportServerTempDB
   TO ReportServerTempDBLog
   WITH COPY_ONLY

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

Quando si ripristinano i database, accertarsi di includere l'argomento MOVE per poter specificare un percorso. Utilizzare l'argomento NORECOVERY per eseguire il ripristino iniziale. In questo modo, il database viene mantenuto in uno stato RESTORING, consentendo di analizzare i backup dei log per determinare quali ripristinare. Nel passaggio finale l'operazione RESTORE viene ripetuta con l'argomento RECOVERY.

Per l'argomento MOVE viene utilizzato il nome logico del file di dati. Per individuare il nome logico, eseguire l'istruzione RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';

Negli esempi seguenti viene incluso l'argomento FILE in modo che sia possibile specificare la posizione del file di log da ripristinare. Per individuare la posizione del file, eseguire l'istruzione RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';

Durante il ripristino del database e dei file di log, eseguire ogni operazione RESTORE separatamente.

-- Restore the report server database and move to new instance folder 
RESTORE DATABASE ReportServer
   FROM DISK='C:\ReportServerData.bak'
   WITH NORECOVERY, 
      MOVE 'ReportServer' TO 
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServer.mdf', 
      MOVE 'ReportServer_log' TO
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServer_Log.ldf';
GO

-- Restore the report server log file to new instance folder 
RESTORE LOG ReportServer
   FROM DISK='C:\ReportServerData.bak'
   WITH NORECOVERY, FILE=2
      MOVE 'ReportServer' TO 
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServer.mdf', 
      MOVE 'ReportServer_log' TO
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServer_Log.ldf';
GO

-- Restore and move the report server temporary database
RESTORE DATABASE ReportServerTempdb
   FROM DISK='C:\ReportServerTempDBData.bak'
   WITH NORECOVERY, 
      MOVE 'ReportServerTempDB' TO 
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServerTempDB.mdf', 
      MOVE 'ReportServerTempDB_log' TO
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\REportServerTempDB_Log.ldf';
GO

-- Restore the temporary database log file to new instance folder 
RESTORE LOG ReportServerTempdb
   FROM DISK='C:\ReportServerTempDBData.bak'
   WITH NORECOVERY, FILE=2
      MOVE 'ReportServerTempDB' TO 
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ReportServerTempDB.mdf', 
      MOVE 'ReportServerTempDB_log' TO
         'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\REportServerTempDB_Log.ldf';
GO

-- Perform final restore
RESTORE DATABASE ReportServer
   WITH RECOVERY
GO

-- Perform final restore
RESTORE DATABASE ReportServerTempDB
   WITH RECOVERY
GO

Come configurare la connessione al database del server di report

  1. Avviare lo strumento Gestione configurazione Reporting Services e stabilire una connessione al server di report.
  2. Nella pagina Impostazioni database selezionare il computer SQL Server che ospita il database del server di report e fare clic su Connetti.
  3. In Nome database selezionare il database del server di report che si desidera utilizzare e quindi fare clic su Applica.

[!NOTA] Per un'installazione di Reporting Services è necessario che l'istanza del Motore di database di SQL Server includa il ruolo RSExecRole. Quando si imposta la connessione al database del server di report tramite lo strumento Gestione configurazione Reporting Services, vengono eseguite le operazioni di creazione dei ruoli, registrazione dell'accesso e assegnazione di ruoli. Se per configurare la connessione si utilizzano approcci alternativi, in particolare se si utilizza l'utilità della riga di comando rsconfig.exe, il server di report non si trova in uno stato attivo. Potrebbe pertanto essere necessario eseguire altri script per renderlo disponibile. Per ulteriori informazioni, vedere Utilizzo di script per l'esecuzione di attività di distribuzione e di amministrazione.

Vedere anche

Concetti

Avvio e interruzione del servizio Windows ReportServer
Configurazione di un account per l'elaborazione automatica di un report
Strumento Gestione configurazione Reporting Services
Gestione delle chiavi di crittografia
Database del server di report

Altre risorse

Panoramica del backup (SQL Server)
Backup di sola copia
Utilità rsconfig

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto
  • Istruzioni per l'utilizzo di collegamento e scollegamento.
  • Script di esempio e istruzioni per l'utilizzo di backup e ripristino.