Utilizzare script per l'esecuzione di attività di distribuzione e di amministrazioneScript Deployment and Administrative Tasks

Reporting ServicesReporting Services supporta l'uso di script per automatizzare installazioni di routine, distribuzioni e attività amministrative. supports the use of scripts to automate routine installation, deployment, and administrative tasks. La distribuzione di un server di report è un processo costituito da più passaggi.Deploying a report server is a multi-step process. 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à.You must use several tools and processes to configure a deployment; there is no single program or approach that can be used to automate all the tasks.

Non è consigliabile automatizzare tutti i passaggi.Not every step should be automated. In alcuni casi, l'esecuzione di un passaggio in modo manuale oppure tramite uno strumento grafico costituisce l'approccio migliore e più efficace.In some cases, performing a step manually or through a graphical tool is the simplest and most effective approach. 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.For example, if you want to deploy a large number of reports and models, it is better to copy the report server databases rather than write code that recreates report server environment.

Per alcuni passaggi è necessario utilizzare codice personalizzato.Some steps require custom code. È 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.For example, configuring the URLs for the Web service and Report Manager can be automated, but only if you write custom code that makes calls into the Report Server Windows Management Instrumentation (WMI) provider. Se non si desidera scrivere codice, per eseguire il passaggio è necessario usare lo strumento di configurazione di Reporting ServicesReporting Services .If you do not want to write code, you must use the Reporting ServicesReporting Services Configuration tool to perform the step.

Per eseguire script per la configurazione di un server di report, è necessario essere un amministratore locale nel computer che si sta configurando.To run script that configures a report server, you must be a local administrator on the computer that you are configuring. Per altre informazioni, vedere Configurare un server di report per l'amministrazione remota.For more information, see Configure a Report Server for Remote Administration.

In questo argomento vengono descritti gli approcci consigliati per l'automatizzazione di passaggi specifici.This topic describes recommended approaches for automating specific steps. Sono menzionati vari programmi e interfacce programmatiche, per ognuno dei quali è disponibile una descrizione di seguito in questo argomento.Several programs and programmatic interfaces are mentioned; descriptions of each one are provided later in this topic.

Attività di distribuzione e modalità di automatizzazione di tali attivitàDeployment Tasks and How to Automate Them

Nella tabella seguente sono riepilogate le attività di installazione e configurazione necessarie per la distribuzione di un server di report.The following table summarizes the installation and configuration tasks that are necessary for deploying a report server. È possibile utilizzare la tabella per individuare, per un'attività specifica, un approccio che consenta di eseguire l'attività in modo automatico.You can use the table to match a specific task to an approach that allows you to automate or perform the task unattended.

AttivitàTask ApproccioApproach
Installare Reporting ServicesReporting Services.Install Reporting ServicesReporting Services. Per eseguire un'installazione automatica, è possibile avviare il programma di installazione dalla riga di comando.You can run setup from the command line to perform an unattended installation.

È 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.You can use Setup to both install and configure a report server, but only if you specify the default configuration option and your system meets all the requirements for this installation type. Se non è possibile installare la configurazione predefinita, è necessario eseguire un'installazione di tipo "solo file".If you cannot install the default configuration, you must perform a files-only installation.
Configurazione dell'account di servizio.Configure the service account. L'account di servizio viene configurato inizialmente tramite il programma di installazione.The service account is initially configured through Setup. 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.To automate changes to the service account as a post-Setup task, you must write custom code that makes calls into the Report Server WMI provider. Non sono disponibili utilità della riga di comando o modelli di script per la configurazione a livello di programmazione dell'account del servizio.There are no command-prompt utilities or script templates for configuring the service account programmatically.

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 ServicesReporting Services .If coding requirements prevent you from automating this step, you can easily configure the account manually by running the Reporting ServicesReporting Services Configuration tool. Per altre informazioni, vedere Configurare un account del servizio (Gestione configurazione SSRS).For more information, see Configure a Service Account (SSRS Configuration Manager).
Configurazione del servizio Web ReportServer e degli URL di Gestione Report.Configure the Report Server Web service and Report Manager URLs. È necessario scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI di Server report.You must write custom code that makes calls into the Report Server WMI provider. Non sono disponibili utilità della riga di comando o modelli di script per la configurazione degli URL.There are no command line utilities or script templates for configuring the URLs.

Se si desidera evitare la scrittura di codice, è possibile configurare manualmente gli URL eseguendo lo strumento di configurazione di Reporting ServicesReporting Services .If you want to avoid writing code, you can configure the URLs manually by running the Reporting ServicesReporting Services Configuration tool. Per altre informazioni, vedere Configurare un URL (Gestione configurazione SSRS).For more information, see Configure a URL (SSRS Configuration Manager).
Creazione di un database del server di report.Create the report server database. È necessario scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI di Server report.You must write custom code that makes calls into the Report Server WMI provider. Non sono disponibili utilità della riga di comando o modelli di script per la creazione di database del server di report e di RSExecRole.There are no command-prompt utilities or script templates for creating the report server databases and RSExecRole.

Se si desidera evitare la scrittura di codice, è possibile creare il database manualmente eseguendo lo strumento di configurazione di Reporting ServicesReporting Services .If you want to avoid writing code, you can create the database manually by running the Reporting ServicesReporting Services Configuration tool. Per altre informazioni, vedere Creare un database del server di report in modalità nativa (Gestione configurazione SSRS).For more information, see Create a Native Mode Report Server Database (SSRS Configuration Manager).
Configurazione della connessione del database del server di report.Configure the report server database connection. 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.If you are changing the connection string, account or password, or the authentication type, run the rsconfig utility to configure the connection. Per altre informazioni, vedere Configurare una connessione del database del server di report (Gestione configurazione SSRS) e Utilità rsconfig (SSRS).For more information, see Configure a Report Server Database Connection (SSRS Configuration Manager) and rsconfig Utility (SSRS).

Non è possibile utilizzare rsconfig.exe per creare o aggiornare il database.You cannot use rsconfig.exe to create or upgrade the database. Il database e RSExecRole devono esistere.The database and RSExecRole must already exist.
Configurazione di una distribuzione con scalabilità orizzontale.Configure a scale-out deployment. Per eseguire in modo automatico una distribuzione con scalabilità orizzontale, scegliere uno degli approcci seguenti:Choose from the following approaches to automate scale-out deployment:

- Eseguire l'utilità rskeymgmt.exe per unire in join le istanze del server di report e un'installazione esistente.- Run the rskeymgmt.exe utility to join report server instances to an existing installation. Per altre informazioni, vedere Aggiungere e rimuovere le chiavi di crittografia per una distribuzione con scalabilità orizzontale (Gestione configurazione SSRS).For more information, see Add and Remove Encryption Keys for Scale-Out Deployment (SSRS Configuration Manager).
- Scrivere il codice personalizzato che viene eseguito nel provider WMI per Server report.- Write custom code that runs against the Report Server WMI provider.
Backup delle chiavi di crittografia.Backup encryption keys. Per eseguire in modo automatico il backup delle chiavi di crittografia, scegliere uno degli approcci seguenti:Choose from the following approaches to automate encryption key backup:

- Eseguire l'utilità rskeymgmt.exe per il backup delle chiavi.- Run the rskeymgmt.exe utility to back up the keys. Per altre informazioni, vedere Eseguire il backup e il ripristino delle chiavi di crittografia di Reporting Services.For more information, see Back Up and Restore Reporting Services Encryption Keys.
- Scrivere il codice personalizzato che viene eseguito nel provider WMI per Server report.- Write custom code that runs against the Report Server WMI provider.
Configurazione della posta elettronica del server di report.Configure Report Server E-mail. Scrivere codice personalizzato che viene eseguito nel provider WMI per Reporting ServicesReporting Services .Write custom code that runs against the Reporting ServicesReporting Services WMI provider. Il provider supporta un subset delle impostazioni di configurazione della posta elettronica.The provider supports a subset of the e-mail configuration settings.

Sebbene il file RSReportServer.config includa tutte le impostazioni, non utilizzare questo file in modo automatizzato.Although the RSReportServer.config file includes all the settings, do not use the file in an automated manner. In particolare, non utilizzare un file batch per copiare il file in un altro server di report.Specifically, do not use a batch file to copy the file to another report server. Ogni file di configurazione include valori specifici per l'istanza corrente.Each configuration file includes values that are specific to the current instance. Tali valori non saranno validi in altre istanze del server di report.Those values will not be valid on other report server instances.

Per altre informazioni sulle impostazioni, vedere Configurare un server di report per il recapito tramite posta elettronica (Gestione configurazione SSRS).For more information about the settings, see Configure a Report Server for E-Mail Delivery (SSRS Configuration Manager).
Configurazione dell'account di esecuzione automatica.Configure the unattended execution account. Per configurare l'account di esecuzione automatica in modo automatico, scegliere uno degli approcci seguenti:Choose from the following approaches to automate unattended processing account configuration:

- Eseguire l'utilità rsconfig.exe per configurare l'account.- Run the rsconfig.exe utility to configure the account. Per altre informazioni, vedere Configurare l'account di esecuzione automatica (Gestione configurazione SSRS).For more information, see Configure the Unattended Execution Account (SSRS Configuration Manager).
- Scrivere codice personalizzato per l'esecuzione di chiamate nel provider WMI per Server report.- Write custom code that makes calls into the Report Server WMI provider.
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.Deploy existing content on another report server, including the folder hierarchy, role assignments, reports, subscriptions, schedules, data sources, and resources. 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.The best way to re-create an existing report server environment is to copy the report server database to a new report server instance.

Un approccio alternativo consiste nello scrivere codice personalizzato per ricreare il contenuto del server di report esistente a livello di programmazione.An alternative approach is to write custom code that recreates existing report server content programmatically. Tenere presente, tuttavia, che le sottoscrizioni, gli snapshot dei report e la cronologia dei report non possono essere ricreati a livello di programmazione.However, be aware that subscriptions, report snapshots, and report history cannot be recreated programmatically.

Per alcune distribuzioni può essere vantaggioso utilizzare entrambe le tecniche, ovvero ripristinare un database del server di report e quindi eseguire codice personalizzato per modificare il database per un'installazione specifica.Some deployments can benefit from using both techniques together (that is, restore a report server database, and then run custom code that modifies the report server database for a specific installation).

Per un esempio dettagliato, vedere Script di esempio rs.exe di Reporting Services per la copia di contenuto tra server di report.For a detailed example, see Sample Reporting Services rs.exe Script to Copy Content between Report Servers.

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).For more information about relocating a report server database, see Moving the Report Server Databases to Another Computer (SSRS Native Mode). 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 argomento.For more information about creating report serer environment programmatically, see the section "Using Script to Migrate Report Server Content and Folders" in this topic.

Strumenti e tecnologie per l'automatizzazione della distribuzione del serverTools and Technologies for Automating Server deployment

Nell'elenco seguente vengono riepilogati i programmi e le interfacce che è possibile utilizzare per automatizzare la distribuzione e le attività di manutenzione:The following list summarizes the programs and interfaces that can be used to automate deployment and maintenance tasks:

  • È possibile eseguire il programma di installazione in modalità automatica per installare e, in alcuni casi, configurare i componenti del server di report.The Setup program can be run in unattended mode to install and sometimes configure report server components. Per configurare un'istanza del server di report con il programma di installazione, è necessario utilizzare un'installazione di tipo "solo file".You must use the Files-Only installation option to have Setup configure a report server instance.

  • È possibile usare il provider WMI Reporting ServicesReporting Services e le utilità della riga di comando di Reporting ServicesReporting Services per la configurazione del server locale e remoto.The Reporting ServicesReporting Services WMI provider and Reporting ServicesReporting Services command line utilities can be used for local and remote server configuration.

    Il provider WMI Reporting ServicesReporting Services espone classi, proprietà e metodi che consentono di configurare tutti gli aspetti di un'installazione di Reporting ServicesReporting Services , tra cui la definizione dell'account di servizio, la configurazione degli URL, 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.The Reporting ServicesReporting Services WMI provider exposes classes, properties, and methods that allow you to configure all aspects of a Reporting ServicesReporting Services installation including specifying the service account, configuring URLs, creating and configuring the report server database, or configuring a report server for e-mail delivery. Per utilizzare il provider WMI è necessario scrivere codice personalizzato o script.You must write custom code or script to use the WMI provider. Per altre informazioni, vedere Accedere al provider WMI per Reporting Services.For more information, see Access the Reporting Services WMI Provider.

    Se non si desidera scrivere codice, è possibile utilizzare le utilità della riga di comando rsconfig.exe e rskeymgmt.exe.An alternative to writing code is to use the command line utilities (rsconfig.exe and rskeymgmt.exe). È possibile scrivere file batch che consentano di eseguire le utilità.You can write batch files that run the utilities. Queste utilità consentono di automatizzare alcune attività di configurazione, ma non tutte.You can use the utilities to automate some but not all configuration tasks.

  • Lo strumento host di scripting del server di report (rs.exe) consente di eseguire codice MicrosoftMicrosoft Visual BasicVisual Basic scritto per ricreare contenuti esistenti o spostarli da un server di report a un altro.The report server script host tool (rs.exe) can run custom MicrosoftMicrosoft Visual BasicVisual Basic code that you might write to re-create or move existing content from one report server to another. Per usare questo approccio, scrivere lo script in Visual BasicVisual Basic, salvarlo come file con estensione rss e quindi usare l'utilità rs.exe per eseguire lo script nel server di report di destinazione.With this approach, you write script in Visual BasicVisual Basic, save it as an .rss file, and use rs.exe to run the script on the target report server. Lo script creato può chiamare l'interfaccia SOAP per il servizio Web ReportServer.The script you write can call the SOAP interface to the Report Server Web service. 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.Deployment scripts are written using this approach because it allows you to re-create a report server folder namespace and content, and re-create role-based security.

  • Nella versione SQL Server 2012 sono stati introdotti i cmdlet di PowerShell per la modalità integrata SharePoint.The SQL Server 2012 release introduced PowerShell cmdlets for SharePoint integrated mode. È possibile utilizzare PowerShell per configurare e amministrare l'integrazione con SharePoint.You can use PowerShell to configure and administer the SharePoint integration. Per altre informazioni, vedere PowerShell cmdlets for Reporting Services SharePoint Mode(Cmdlet di PowerShell per la modalità SharePoint di Reporting Services).For more information, see PowerShell cmdlets for Reporting Services SharePoint Mode.

Utilizzare gli script per eseguire la migrazione del contenuto e delle cartelle del server di reportUse Scripts to Migrate Report Server Content and Folders

È possibile creare script per duplicare un ambiente del server di report in un'altra istanza del server di report.You can write scripts that duplicate a report server environment on another report server instance. Gli script di distribuzione vengono in genere scritti in Visual BasicVisual Basic e successivamente elaborati utilizzando l'utilità host di scripting del server di report.Deployment scripts are generally written in Visual BasicVisual Basic and then processed using the report server script host utility.

Per un esempio dettagliato, vedere Script di esempio rs.exe di Reporting Services per la copia di contenuto tra server di report.For a detailed example, see Sample Reporting Services rs.exe Script to Copy Content between Report Servers.

Utilizzare gli script per copiare cartelle, origini dei dati condivise, risorse, report, assegnazioni di ruoli e impostazioni da un server all'altro.Use scripts to copy folders, shared data sources, resources, reports, role assignments, and settings from one server to another. È 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.You write a script for one report server instance, and then run it on another server to re-create the report server namespace. In presenza di più server di report nella distribuzione di Reporting ServicesReporting Services , è possibile eseguire lo script in ogni singolo server per configurare tutti i server allo stesso modo.If you have multiple report servers in your Reporting ServicesReporting Services deployment, you can run the script on each server individually to configure all servers in the same way.

Nell'elenco seguente viene descritta la procedura per migrare report da un server in un altro.The following list describes the steps for migrating reports from one server to another.

  1. Impostare la variabile script sull'URL del server di report di origine.Set your script variable to the URL of the source report server.

  2. Usare i metodi GetItemDefinition e GetProperties per recuperare la definizione e le proprietà del report.Use the GetItemDefinition and GetProperties methods to retrieve the report definition and the properties of the report.

  3. Impostare l'URL in modo che punti al server di destinazione.Set the URL to point to the destination server.

  4. Usare il metodo CreateCatalogItem passando le proprietà restituite da GetProperties e la definizione del report restituite da GetItemDefinition.Use CreateCatalogItem method, passing the properties returned from GetProperties and the report definition returned by GetItemDefinition.

    Utilizzando una combinazione di metodi Get e Create, è possibile eseguire una procedura simile per migrare impostazioni, cartelle, origini dei dati condivise e risorse.By using a combination of get and create methods, you can perform similar steps to migrate settings, folders, shared data sources, and resources. Per altre informazioni sui metodi disponibili, vedere Riferimento tecnico (SSRS).For more information about the methods available to you, see Technical Reference (SSRS).

Nota

Gli script vengono eseguiti con le credenziali di MicrosoftMicrosoft Windows dell'utente che esegue lo script, a meno che non si decida di impostare le credenziali esplicitamente.Scripts run under the MicrosoftMicrosoft Windows credentials of the user running the script unless credentials are explicitly set.

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.For more information about how to format and run a script file, see Script with the rs.exe Utility and the Web Service.

Utilizzo degli script per impostare le proprietà del serverUsing Scripts to Set Server Properties

È possibile scrivere script che consentono di impostare le proprietà di sistema nel server di report.You can write scripts that set system properties on the report server. Nello script Visual BasicVisual Basic .NET riportato di seguito viene illustrato un sistema per impostare le proprietà:The following Visual BasicVisual Basic .NET script shows one way to set properties. Nell'esempio il controllo ActiveX RSClientPrint viene disabilitato, tuttavia è possibile sostituire EnableClientPrinting e False con qualsiasi nome e valore di proprietà valido.This example disables the RSClientPrint ActiveX control, but you can replace EnableClientPrinting and False with any valid property name and value. Per visualizzare un elenco completo di proprietà del server, vedere Proprietà di sistema del server di report.To view a complete list of server properties, see Report Server System Properties.

Per utilizzare lo script, salvarlo in un file con estensione rss e quindi utilizzare l'utilità della riga di comando rs.exe per eseguire il file nel server di report.To use the script, save it to a file that has an .rss extension, and then use the rs.exe command prompt utility to run the file on the report server. Lo script non è compilato, pertanto non è necessario disporre di un'installazione di Visual BasicVisual Basic.The script is not compiled, so it is not necessary to have an installation of Visual BasicVisual Basic. Nell'esempio si presuppone che l'utente disponga delle autorizzazioni per il computer locale che ospita il server di report.This example assumes that you have permissions on the local computer that hosts the report server. 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.If you are not logged on under an account that has permissions, you must specify account information through additional command line arguments. Per altre informazioni, vedere Utilità RS.exe (SSRS).For more information, see RS.exe Utility (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  

Passaggi successiviNext steps

Metodo GenerateDatabaseCreationScript (MSReportServer_ConfigurationSetting WMI) GenerateDatabaseCreationScript Method (WMI MSReportServer_ConfigurationSetting)
Metodo GenerateDatabaseRightsScript (MSReportServer_ConfigurationSetting WMI) GenerateDatabaseRightsScript Method (WMI MSReportServer_ConfigurationSetting)
Metodo GenerateDatabaseUpgradeScript (MSReportServer_ConfigurationSetting WMI) GenerateDatabaseUpgradeScript Method (WMI MSReportServer_ConfigurationSetting)
Installazione di SQL Server 2016 dal prompt dei comandi Install SQL Server 2016 from the Command Prompt
Installare un server di report in modalità nativa di Reporting Services Install Reporting Services Native Mode Report Server
Reporting Services Report Server (Native Mode) Reporting Services Report Server (Native Mode)
Utilità della riga di comando del server di report (SSRS) Report Server Command Prompt Utilities (SSRS)
Supporto browser per Reporting Services e Power View Browser Support for Reporting Services and Power View
Strumenti di Reporting ServicesReporting Services Tools

Altre domande?More questions? Visitare il forum su Reporting ServicesTry asking the Reporting Services forum