Amministrare un database del server di report (modalità nativa SSRS)

In una distribuzione di Reporting Services vengono usati 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 e viene 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 usate per crittografare e decrittografare i dati sensibili.

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 usare SQL Server Management Studio, i comandi Transact-SQL o le utilità della riga di comando del database. Per istruzioni, vedere Spostamento di database del server di report in un altro computer (modalità nativa SSRS).

  • 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 usare 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 usato per una particolare istanza del server di report, è possibile usare la pagina Impostazioni database dello strumento di configurazione di Reporting Services. Per altre informazioni sulla connessione del server di report al relativo database, vedere Configurare una connessione del database del server di report (Gestione configurazione del server di report).

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 del server di report. È possibile usare lo strumento di configurazione di Reporting Services per configurare una connessione al database del server di report.

Le credenziali per la connessione del server di report al database possono essere l'account del servizio, un account utente locale o di dominio Windows o un utente del database di SQL Server. Per stabilire una connessione, è necessario scegliere un account esistente poiché in Reporting Services gli account non vengono creati.

Viene creato automaticamente un account di accesso di SQL Server per il database del server di report per l'account specificato.

Anche le autorizzazioni al database vengono configurate automaticamente. Lo strumento di configurazione di Reporting Services assegnerà l'account o l'utente del database ai ruoli Public e RSExecRole per i database del server di report. Il ruolo RSExecRole offre autorizzazioni di accesso alle tabelle di database e per l'esecuzione di stored procedure. Il ruolo RSExecRole viene creato nei database master e msdb quando si crea il database del server di report. Il ruolo RSExecRole è un membro del ruolo db_owner per i database del server di report e consente al server di report di aggiornare lo schema per supportare un processo di aggiornamento automatico.

Convenzioni di denominazione per i database del server di report

Il nome del database primario deve essere conforme alle regole relative agli Identificatori del database. 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 altre 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.

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

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

Se non si attiva intenzionalmente l'isolamento dello snapshot, è probabile che l'attributo sia stato impostato da un'altra applicazione o che per il database modello sia stato attivato l'isolamento dello snapshot, facendo in modo che tutti i nuovi database ereditino l'impostazione.

Per disattivare l'isolamento dello snapshot sul il database del server di report, avviare Management Studio, aprire una nuova finestra della query, incollare, 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  

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.

Vedere anche

Creare un database del server di report in modalità nativa (Gestione configurazione del server di report)
Configurare l'account del servizio del server di report (Gestione configurazione del server di report)
Configurare una connessione del database del server di report (Gestione configurazione del server di report)
Creare un database del server di report (Gestione configurazione del server di report)
Gestione configurazione server di report (modalità nativa)
Operazioni di backup e ripristino per Reporting Services
Database del server di report (modalità nativa SSRS)
Reporting Services Report Server (Native Mode)
Archiviare i dati crittografati del server di report (Gestione configurazione del server di report)
Configurare e gestire chiavi di crittografia (Gestione configurazione del server di report)