Condividi tramite


Amministrazione del database del server di report

Data aggiornamento: 15 settembre 2007

Una distribuzione di Reporting Services utilizza due database relazionali di SQL Server per l'archiviazione interna. Per impostazione predefinita, i database sono denominati ReportServer e ReportServerTempdb. ReportServerTempdb viene creato con il database primario del server di report ed è utilizzato per l'archiviazione di dati temporanei, informazioni sulla sessione e report memorizzati nella cache.

In Reporting Services l'amministrazione del database include le attività di backup e ripristino dei database del server di report e la gestione delle chiavi di crittografia utilizzate per crittografare e decrittografare i dati riservati.

In SQL Server sono disponibili vari strumenti per l'amministrazione dei database del server di report.

  • Per eseguire il backup o il ripristino del database del server di report, per spostare un database del server di report o per recuperare un database del server di report, è possibile utilizzare SQL Server Management Studio, i comandi Transact-SQL o le utilità della riga di comando del database. Per istruzioni, vedere Spostamento di un database del server di report in un altro computer nella documentazione in linea di SQL Server.
  • Per copiare il contenuto del database esistente in un altro database del server di report, è possibile collegare una copia di un database del server di report e utilizzarla con una diversa istanza del server di report. In alternativa è possibile creare ed eseguire uno script che utilizza le chiamate SOAP per ricreare il contenuto del server di report in un nuovo database. È possibile utilizzare l'utilità rs per eseguire lo script.
  • Per gestire le connessioni tra il server di report e il database del server di report e per individuare il database utilizzato per una particolare istanza del server di report, è possibile utilizzare la pagina Impostazioni database dello strumento Gestione configurazione Reporting Services. Per ulteriori informazioni sulla connessione del server di report al database del server di report, vedere Configurazione della connessione a un database del server di report.
  • Per raccogliere informazioni sulle prestazioni e sull'attività del server di report, vedere Esecuzione di query e report in base ai dati del log di esecuzione del report nella documentazione in linea di SQL Server.

Autorizzazioni per l'accesso a SQL Server e per il database

I database del server di report vengono utilizzati internamente dal server di report. Le connessioni al database vengono eseguite dal servizio Web ReportServer e dal servizio Windows ReportServer.

Per specificare la connessione, è possibile utilizzare lo strumento Gestione configurazione Reporting Services. È possibile utilizzare le credenziali degli account di servizio, dell'account utente di dominio oppure un account di accesso di SQL Server. L'account scelto per la connessione deve disporre di un account di accesso di SQL Server nonché dei ruoli Public e RSExecRole per i database del server di report.

L'account di accesso e le autorizzazioni vengono creati automaticamente quando si utilizza lo strumento Gestione configurazione Reporting Services per configurare la connessione al database, aggiornare il database del server di report o eseguire script equivalenti nell'istanza di SQL Server che ospita il database.

Il ruolo RSExecRole offre autorizzazioni di accesso alle tabelle di database e di esecuzione di stored procedure. Il ruolo RSExecRole viene creato nei database master e msdb quando si crea il database del server di report. A partire da SQL Server 2005 Service Pack 1, il ruolo RSExecRole è membro del ruolo db_owner per i database del server di report. Le autorizzazioni aggiuntive consentono al server di report di aggiornare lo schema nelle versioni successive, semplificando pertanto il processo di aggiornamento.

Rimozione di account non utilizzati in RSExecRole

Se si configura il servizio Web ReportServer o il servizio Windows per l'esecuzione con un account diverso, il nuovo account verrà aggiunto automaticamente a RSExecRole. Eventuali account aggiunti in precedenza che non vengono più utilizzati dovranno tuttavia essere rimossi manualmente. Per rimuovere tali account, utilizzare Management Studio per eseguire le operazioni seguenti:

  1. Connettersi all'istanza di Motore di database che ospita il database del server di report.
  2. Espandere la cartella Database, la cartella ReportServer e la cartella Protezione, quindi espandere Ruoli, Ruoli del database e fare doppio clic su RSExecRole.
  3. Selezionare l'account che non viene più utilizzato.
  4. Fare clic su Rimuovi.

Convenzioni di denominazione per i database del server di report

Il nome del database primario deve essere conforme alle regole relative agli Identificatori. Per il database temporaneo viene sempre utilizzato il nome del database primario del server di report, con il suffisso Tempdb. Non è possibile scegliere un nome diverso per il database temporaneo.

La ridenominazione di un database del server di report non è supportata, in quanto i database del server di report sono considerati componenti interni. La ridenominazione dei database del server di report genera errori. In particolare, se si rinomina il database primario, verrà visualizzato un messaggio di errore che indica che i nomi dei database non sono sincronizzati. Se si rinomina il database ReportServerTempdb, durante la successiva esecuzione di report verrà generato l'errore interno seguente:

"Errore interno nel server di report. Per ulteriori informazioni, vedere il log degli errori. (rsInternalError)

Il nome di oggetto 'ReportServerTempDB.dbo.PersistedStream' non è valido."

Questo errore si verifica perché il nome ReportServerTempdb viene archiviato internamente e viene utilizzato dalle stored procedure per l'esecuzione di operazioni interne. Rinominare il database temporaneo impedisce pertanto il corretto funzionamento delle stored procedure.

Informazioni sulle versioni del database

In Reporting Services non sono disponibili informazioni esplicite sulla versione del database. Tuttavia, poiché le versioni del database sono sempre sincronizzate con le versioni del prodotto, è possibile utilizzare le informazioni relative alla versione del prodotto per stabilire quando la versione del database è stata modificata. Le informazioni sulla versione del prodotto per Reporting Services sono disponibili tramite le informazioni sulla versione di file contenute nei file di log, nelle intestazioni delle chiamate SOAP e quando ci si connette all'URL del server di report (ad esempio, quando si apre un browser su https://localhost/reportserver).

Attivazione dell'isolamento dello snapshot nel database del server di report

Non è possibile attivare l'isolamento dello snapshot nel database del server di report. Se l'isolamento dello snapshot è attivato, verrà visualizzato il seguente messaggio di errore: "Il report selezionato non è pronto per la visualizzazione. Il rendering del report è ancora in corso oppure non è disponibile uno snapshot del report".

Se l'isolamento dello snapshot non è stato attivato intenzionalmente, è probabile che l'attributo sia stato impostato da un'altra applicazione o che nel database modello sia attivato l'isolamento dello snapshot, per cui tale impostazione viene ereditata da tutti i nuovi database.

Per disattivare l'isolamento dello snapshot nel database del server di report, avviare Management Studio, aprire una nuova finestra Query e incollare e quindi eseguire lo script seguente:

ALTER DATABASE ReportServer
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServerTempdb
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServer
SET READ_COMMITTED_SNAPSHOT OFF
ALTER DATABASE ReportServerTempDb
SET READ_COMMITTED_SNAPSHOT OFF

Vedere anche

Concetti

Creazione di un database del server di report
Operazioni di backup e ripristino per un'installazione di Reporting Services
Database del server di report
Amministrazione di Reporting Services
Requisiti del database del server di report
Archiviazione dei dati crittografati del server di report
Gestione delle chiavi di crittografia

Altre risorse

Distribuzione di Reporting Services

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

15 settembre 2007

Nuovo contenuto:
  • Aggiunta di informazioni sull'attivazione dell'isolamento dello snapshot nel database del server di report.

12 dicembre 2006

Nuovo contenuto:
  • Rimozione di account non utilizzati in RSExecRole

14 aprile 2006

Nuovo contenuto:
  • Convenzioni di denominazione e informazioni di controllo delle versioni per i database del server di report