Implementazione degli script e attività di amministrazione

Reporting Services supporta l'uso di script per automatizzare installazioni di routine, distribuzioni e attività amministrative. La distribuzione di un server di report è un processo costituito da più passaggi. Per configurare una distribuzione è necessario utilizzare diversi strumenti e processi, in quanto non è disponibile un unico programma o approccio che consenta di automatizzare tutte le attività.

Non è consigliabile automatizzare tutti i passaggi. In alcuni casi, l'esecuzione di un passaggio in modo manuale oppure tramite uno strumento grafico costituisce l'approccio migliore e più efficace. Se, ad esempio, si desidera distribuire un numero elevato di report e modelli, è consigliabile copiare i database del server di report anziché scrivere codice per ricreare l'ambiente del server di report.

Per alcuni passaggi è necessario utilizzare codice personalizzato. È ad esempio possibile configurare gli URL del servizio Web e Gestione report in modo automatico, ma solo scrivendo codice personalizzato per l'esecuzione di chiamate nel provider WMI (Windows Management Instrumentation, Strumentazione gestione Windows) di Server report. Se non si desidera scrivere codice, per eseguire il passaggio è necessario usare lo strumento di configurazione di Reporting Services.

Per eseguire script per la configurazione di un server di report, è necessario essere un amministratore locale nel computer che si sta configurando. Per altre informazioni, vedere Configurare un server di report per l'amministrazione remota.

In questo articolo vengono descritti gli approcci consigliati per l'automatizzazione di passaggi specifici. Sono menzionati vari programmi e interfacce programmatiche, per ognuno dei quali è disponibile una descrizione di seguito in questo articolo.

Attività di distribuzione e modalità di automatizzazione di tali attività

Nella tabella seguente sono riepilogate le attività di installazione e configurazione necessarie per la distribuzione di un server di report. È possibile utilizzare la tabella per individuare, per un'attività specifica, un approccio che consenta di eseguire l'attività in modo automatico.

Attività Approccio
Installare Reporting Services. Per eseguire un'installazione automatica, è possibile avviare il programma di installazione dalla riga di comando.

È possibile utilizzare il programma di installazione sia per installare che per configurare un server di report, ma solo se si specifica l'opzione di configurazione predefinita e se il sistema soddisfa tutti i requisiti per il tipo di installazione. Se non è possibile installare la configurazione predefinita, è necessario eseguire un'installazione di tipo "solo file".
Configurazione dell'account di servizio. L'account di servizio viene configurato inizialmente tramite il programma di installazione. Per automatizzare le modifiche all'account di servizio come attività della post-installazione, è necessario scrivere codice personalizzato che effettua chiamate al provider WMI di Server report. Non sono disponibili utilità della riga di comando o modelli di script per la configurazione a livello di programmazione dell'account del servizio.

Se i requisiti relativi al codice non consentono di automatizzare questo passaggio, è possibile configurare manualmente in modo semplice l'account eseguendo lo strumento di configurazione di Reporting Services. Per altre informazioni, vedere Configurare un account del servizio (Configuration Manager del server di report).
Configurazione del servizio Web ReportServer e degli URL di Gestione Report. È necessario scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI di Server report. Non sono disponibili utilità della riga di comando o modelli di script per la configurazione degli URL.

Se si desidera evitare la scrittura di codice, è possibile configurare manualmente gli URL eseguendo lo strumento di configurazione di Reporting Services. Per altre informazioni, vedere Configurare un URL (Gestione configurazione del server di report).
Creazione di un database del server di report. È necessario scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI di Server report. Non sono disponibili utilità della riga di comando o modelli di script per la creazione di database del server di report e di RSExecRole.

Se si desidera evitare la scrittura di codice, è possibile creare il database manualmente eseguendo lo strumento di configurazione di Reporting Services. Per altre informazioni, vedere Creare un database del server di report in modalità nativa (Configuration Manager del server di report).
Configurazione della connessione del database del server di report. Se si modifica la stringa di connessione, l'account o la password oppure il tipo di autenticazione, eseguire l'utilità rsconfig per configurare la connessione. Per altre informazioni, vedere Configurare una connessione del database del server di report (Configuration Manager del server di report) e Utilità rsconfig (SSRS).

Non è possibile usare rsconfig.exe per creare o aggiornare il database. Il database e RSExecRole devono esistere.
Configurazione di una distribuzione con scalabilità orizzontale. Per eseguire in modo automatico una distribuzione con scalabilità orizzontale, scegliere uno degli approcci seguenti:

- Eseguire l'utilità rskeymgmt.exe per unire in join le istanze del server di report e un'installazione esistente. Per altre informazioni, vedere Aggiungere e rimuovere le chiavi di crittografia per una distribuzione con scalabilità orizzontale (Configuration Manager del server di report).
- Scrivere codice personalizzato che viene eseguito nel provider WMI per Server report.
Backup delle chiavi di crittografia. Per eseguire in modo automatico il backup delle chiavi di crittografia, scegliere uno degli approcci seguenti:

- Eseguire l'utilità rskeymgmt.exe per il backup delle chiavi. Per altre informazioni, vedere Eseguire il backup e il ripristino delle chiavi di crittografia di Reporting Services.
- Scrivere codice personalizzato che viene eseguito nel provider WMI per Server report.
Configurazione della posta elettronica del server di report. Scrivere codice personalizzato che viene eseguito nel provider WMI per Reporting Services. Il provider supporta un subset delle impostazioni di configurazione della posta elettronica.

Sebbene il file RSReportServer.config includa tutte le impostazioni, non usare questo file in modo automatizzato. In particolare, non usare un file batch per copiare il file in un altro server di report. Ogni file di configurazione include valori specifici per l'istanza corrente. Tali valori non sono validi in altre istanze del server di report.

Per altre informazioni sulle impostazioni, vedere Impostazioni posta elettronica - Modalità nativa di Reporting Services (Configuration Manager).
Configurazione dell'account di esecuzione automatica. Per configurare l'account di esecuzione automatica in modo automatico, scegliere uno degli approcci seguenti:

- Eseguire l'utilità rsconfig.exe per configurare l'account. Per altre informazioni, vedere Configurare l'account di esecuzione automatica (Configuration Manager server di report).
- Scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI per il server di report.
Distribuzione di contenuti esistenti in un altro server di report, includendo gerarchia di cartelle, assegnazioni di ruolo, report, sottoscrizioni, pianificazioni, origini dei dati e risorse. Il modo migliore per ricreare un ambiente del server di report esistente consiste nel copiare il database del server di report in una nuova istanza del server di report.

Un approccio alternativo consiste nello scrivere codice personalizzato per ricreare il contenuto del server di report esistente a livello di programmazione. Tuttavia, le sottoscrizioni, gli snapshot dei report e la cronologia dei report non possono essere ricreati a livello di programmazione.

Alcune distribuzioni possono trarre vantaggio da entrambe le tecniche. Ad esempio, ripristinare un database del server di report e quindi eseguire codice personalizzato che modifica il database del server di report per un'installazione specifica.

Per un esempio dettagliato, vedere Script di esempio rs.exe di Reporting Services per la copia di contenuto tra server di report.

Per altre informazioni sullo spostamento di un database del server di report, vedere Spostamento di database del server di report in un altro computer (modalità nativa SSRS). Per ulteriori informazioni sulla creazione di un ambiente del server di report a livello di programmazione, vedere la sezione "Utilizzo di script per eseguire la migrazione del contenuto e delle cartelle del server di report" di questo articolo.

Strumenti e tecnologie per l'automatizzazione della distribuzione del server

Nell'elenco seguente vengono riepilogati i programmi e le interfacce che è possibile utilizzare per automatizzare la distribuzione e le attività di manutenzione:

  • È possibile eseguire il programma di installazione in modalità automatica per installare e, in alcuni casi, configurare i componenti del server di report. Per configurare un'istanza del server di report con il programma di installazione, è necessario utilizzare un'installazione di tipo "solo file".

  • È possibile usare il provider WMI e le utilità della riga di comando di Reporting Services per la configurazione del server locale e remoto.

    Il provider WMI di Reporting Services espone classi, proprietà e metodi che consentono di configurare tutti gli aspetti di un'installazione Reporting Services. Questi aspetti includono la specifica dell'account del servizio e la configurazione degli URL. Possono includere anche la creazione e la configurazione del database del server di report o la configurazione di un server di report per il recapito tramite posta elettronica. Per utilizzare il provider WMI è necessario scrivere codice personalizzato o script. Per altre informazioni, vedere Accedere al provider WMI per Reporting Services.

    Se non si desidera scrivere codice, è possibile utilizzare le utilità della riga di comando rsconfig.exe e rskeymgmt.exe. È possibile scrivere file batch che consentano di eseguire le utilità. Queste utilità consentono di automatizzare alcune attività di configurazione, ma non tutte.

  • Lo strumento host di scripting del server di report (rs.exe) consente di eseguire codice Microsoft Visual Basic scritto per ricreare contenuti esistenti o spostarli da un server di report a un altro. Per usare questo approccio, scrivere lo script in Visual Script, salvarlo come file con estensione rss e quindi usare l'utilità rs.exe per eseguire lo script nel server di report di destinazione. Lo script creato può chiamare l'interfaccia SOAP per il servizio Web ReportServer. Gli script di distribuzione vengono creati utilizzando questo approccio poiché consente di ricreare i contenuti e lo spazio dei nomi della cartella del server di report, nonché la sicurezza basata sui ruoli.

  • Nella versione SQL Server 2012 sono stati introdotti i cmdlet di PowerShell per la modalità integrata SharePoint. È possibile utilizzare PowerShell per configurare e amministrare l'integrazione con SharePoint. Per altre informazioni, vedere Cmdlet di PowerShell per la modalità SharePoint di Reporting Services.

Utilizzare gli script per eseguire la migrazione del contenuto e delle cartelle del server di report

È possibile creare script per duplicare un ambiente del server di report in un'altra istanza del server di report. Gli script di distribuzione vengono scritti in Visual Basic e successivamente elaborati utilizzando l'utilità host di script del server di report.

Per un esempio dettagliato, vedere Script di esempio rs.exe di Reporting Services per la copia di contenuto tra server di report.

Utilizzare gli script per copiare cartelle, origini dei dati condivise, risorse, report, assegnazioni di ruoli e impostazioni da un server all'altro. È possibile scrivere uno script per un'istanza del server di report, quindi eseguirlo in un altro server per ricreare lo spazio dei nomi del server di report. In presenza di più server di report nella distribuzione di Reporting Services, è possibile eseguire lo script in ogni singolo server per configurare tutti i server allo stesso modo.

Nell'elenco seguente viene descritta la procedura per migrare report da un server in un altro.

  1. Impostare la variabile script sull'URL del server di report di origine.

  2. Usare i metodi GetItemDefinition e GetProperties per recuperare la definizione e le proprietà del report.

  3. Impostare l'URL in modo che punti al server di destinazione.

  4. Usare il metodo CreateCatalogItem passando le proprietà restituite da GetProperties e la definizione del report restituite da GetItemDefinition.

Utilizzando una combinazione di metodi Get e Create, è possibile eseguire una procedura simile per migrare impostazioni, cartelle, origini dei dati condivise e risorse. Per altre informazioni sui metodi disponibili, vedere Riferimento tecnico (SSRS).

Nota

Gli script vengono eseguiti con le credenziali di Microsoft Windows dell'utente che esegue lo script, a meno che non si decida di impostare le credenziali esplicitamente.

Per altre informazioni sulla formattazione ed esecuzione di un file di script, vedere Eseguire lo script con l'utilità rs.exe e il servizio Web.

Utilizzo degli script per impostare le proprietà del server

È possibile scrivere script che consentono di impostare le proprietà di sistema nel server di report. Nello script Visual Basic .NET riportato di seguito viene illustrato un sistema per impostare le proprietà. Nell'esempio il controllo ActiveX RSClientPrint viene disabilitato, tuttavia è possibile sostituire EnableClientPrinting e False con qualsiasi nome e valore di proprietà valido. Per visualizzare un elenco completo di proprietà del server, vedere Proprietà di sistema del server di report.

Per utilizzare lo script, salvarlo in un file con estensione rss e quindi utilizzare l'utilità del prompt dei comandi rs.exe per eseguire il file nel server di report. Lo script non viene compilato, quindi non è necessario disporre di un'installazione di Visual Basic. Nell'esempio si presuppone che l'utente disponga delle autorizzazioni per il computer locale che ospita il server di report. Se non è stato eseguito l'accesso con un account che dispone delle autorizzazioni, sarà necessario specificare le informazioni sull'account tramite ulteriori argomenti della riga di comando. Per altre informazioni, vedere Utilità RS.exe (SSRS).

Public Sub Main()  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
End Sub  

Metodo GenerateDatabaseCreationScript (WMI MSReportServer_ConfigurationSetting)
Metodo GenerateDatabaseRightsScript (MSReportServer_ConfigurationSetting WMI)
Metodo GenerateDatabaseUpgradeScript (MSReportServer_ConfigurationSetting WMI)
Installare SQL Server al prompt dei comandi
Install Reporting Services native mode report server
Server di report di Reporting Services (modalità nativa)
Utilità del prompt dei comandi del server di report (SSRS)
Supporto browser per Reporting Services
Strumenti di Reporting Services

Altre domande? Visitare il forum su Reporting Services