Condividi tramite


Script di esempio rs.exe di Reporting Services per la migrazione del contenuto tra server di report

Questo argomento include e descrive un esempio Reporting Services script RSS che copia elementi di contenuto e impostazioni da un server di report SQL Server Reporting Services a un altro server di report, usando l'utilità RS.exe. RS.exe viene installato con Reporting Services, sia in modalità nativa che in modalità SharePoint. Lo script copia gli elementi di Reporting Services, ad esempio report e sottoscrizioni, da un server a un altro. Lo script supporta server di report in modalità nativa e in modalità SharePoint.

Si applica a: Reporting Services modalità SharePoint | Reporting Services modalità nativa

Contenuto dell'argomento:

Per scaricare lo script ssrs_migration.rss

Scaricare lo script dal sito CodePlex nella pagina relativa allo Reporting Services RS.exe script migrates content (Script RS.exe di Reporting Services che esegue la migrazione del contenuto) in una cartella locale. Per altre informazioni, vedere la sezione Come usare lo script in questo argomento.

Scenari Supportati

Lo script supporta server di report in modalità nativa e in modalità SharePoint. Lo script supporta le versioni seguenti del server di report:

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2

Lo script può essere utilizzato per copiare il contenuto tra server di report nella stessa modalità o in modalità diverse. Ad esempio, è possibile eseguire lo script per copiare il contenuto da un server di report in modalità nativa SQL Server 2008 R2 a un server di report in modalità sharePoint SQL Server 2012 SP1. È possibile eseguire lo script da qualsiasi server in cui è installato RS.exe. Nella distribuzione seguente, ad esempio, è possibile:

  • Eseguire RS.exe e lo script SUL Server A.

  • Copiare il contenuto DAL Server B

  • AL Server C

Nome server Modalità server di report
Server A Nativo
Server B SharePoint
Server C SharePoint

Per altre informazioni sull'utilità RS.exe, vedere Utilità RS.exe (SSRS).

Elementi e risorse di cui lo script esegue la migrazione

Lo script non sovrascrive elementi di contenuto esistenti con lo stesso nome. Se lo script rileva nel server di destinazione elementi presenti nel server di origine con lo stesso nome, viene visualizzato un messaggio di errore per i singoli elementi e lo script continua. Nella tabella seguente sono elencati i tipi di contenuto e risorse di cui lo script può eseguire la migrazione nelle modalità del server di report di destinazione.

Elemento Migrato SharePoint Descrizione
Password No No NON viene eseguita la migrazione delle password. Dopo la migrazione degli elementi di contenuto, aggiornare le informazioni sulle credenziali nel server di destinazione. Ad esempio, origini dati con credenziali archiviate.
Report personali No No La funzionalità "Report personali" in modalità nativa si basa su singoli account di accesso utente, pertanto il servizio di scripting non ha accesso al contenuto nelle cartelle "Report personali" per gli utenti diversi dal parametro -u usato per eseguire lo script rss. Inoltre, "Report personali" non è una funzionalità di Reporting Services modalità SharePoint e gli elementi nelle cartelle non possono essere copiati in un ambiente SharePoint. Pertanto, lo script non copia gli elementi del report presenti nelle cartelle "Report personali" in un server di report in modalità nativa di origine. Per eseguire la migrazione del contenuto nelle cartelle "Report personali" con questo script, completare quanto segue:

1) Creare nuove cartelle in Gestione report. Se lo si desidera, è possibile creare cartelle o sottocartelle per ogni utente.

2) Accedere come uno degli utenti con il contenuto "Report personali".

3) In Gestione report fare clic sulla cartella Report personali.

4) Fare clic sulla visualizzazione Dettagli per la cartella.

5) Selezionare ogni report da copiare.

6) Fare clic su Sposta sulla barra degli strumenti di Gestione report.

7) Selezionare la cartella di destinazione desiderata.

8) Ripetere i passaggi da 2 a 7 per ogni utente.

9) Eseguire lo script.
Cronologia No No
Impostazioni di cronologia Viene eseguita la migrazione delle impostazioni di cronologia, ma NON dei dettagli della cronologia.
Pianificazioni Per eseguire la migrazione delle pianificazioni, è necessario che SQL Server Agent sia in esecuzione nel server di destinazione. Se SQL Server Agent non è in esecuzione nel server di destinazione, viene visualizzato un messaggio di errore simile al seguente:

Migrating schedules: 1 items found. Migrating schedule: theMondaySchedule ... FAILURE: The SQL Agent service is not running. This operation requires the SQL Agent service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.SchedulerNotResponding Exception: The SQL Agent service is not running. This operation requires the SQL Agent service.
Ruoli e criteri di sistema Per impostazione predefinita lo script non copia lo schema di autorizzazioni personalizzate da un server a un altro. Il comportamento predefinito è che gli elementi verranno coiedi al server di destinazione con il flag "eredita autorizzazioni padre" impostato su TRUE. Se si desidera che le autorizzazioni per singoli elementi vengano copiate dallo script, utilizzare l'opzione SECURITY.

Se i server di origine e destinazione non sono nella stessa modalità del server di report, ad esempio dalla modalità nativa alla modalità SharePoint, e si usa l'opzione SECURITY, lo script tenterà di eseguire il mapping dei ruoli e dei gruppi predefiniti in base al confronto riportato nell'argomento Confrontare ruoli e attività di Reporting Services con autorizzazioni e gruppi di SharePointche segue. I ruoli e i gruppi personalizzati non vengono copiati nel server di destinazione.

Quando lo script copia tra server nella stessa modalitàe si usa l'opzione SECURITY, lo script crea nuovi ruoli (modalità nativa) o gruppi (modalità SharePoint) nel server di destinazione.

Se esiste già un ruolo nel server di destinazione, lo script genera un messaggio di errore simile al seguente e continua la migrazione degli altri elementi. Al completamento dello script, verificare che i ruoli nel server di destinazione siano configurati per soddisfare le esigenze specifiche. Ruoli di cui si esegue la migrazione: 8 elementi trovati.

Migrating role: Browser ... FAILURE: The role 'Browser' already exists and cannot be created. ---> Microsoft.ReportingServices.Diagnostics.Utilities.RoleAlreadyExistsException: The role 'Browser' already exists and cannot be created.

Per altre informazioni, vedere Concedere l'accesso utente a un server di report (Gestione report)

Nota: se un utente esistente nel server di origine non esiste nel server di destinazione, lo script non può applicare le assegnazioni dei ruoli nel server di destinazione; lo script non può applicare le assegnazioni dei ruoli anche se si usa l'opzione SECURITY.
Origine dati condivisa Lo script non sovrascrive gli elementi esistenti nel server di destinazione. Se nel server di destinazione esiste già un elemento con lo stesso nome, viene visualizzato un messaggio di errore simile al seguente:

Migrating DataSource: /Data Sources/Aworks2012_oltp ... FAILURE:The item '/Data Sources/Aworks2012_oltp' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Data Source s/Aworks2012_oltp' already exists.

Le credenziali NON sono copiate come parte dell'origine dati. Dopo la migrazione degli elementi di contenuto, aggiornare le informazioni sulle credenziali nel server di destinazione.
Set di dati condiviso
Cartella Lo script non sovrascrive gli elementi esistenti nel server di destinazione. Se nel server di destinazione esiste già un elemento con lo stesso nome, viene visualizzato un messaggio di errore simile al seguente:

Migrating Folder: /Reports ... FAILURE: The item '/Reports' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports' already exists.
Report Lo script non sovrascrive gli elementi esistenti nel server di destinazione. Se nel server di destinazione esiste già un elemento con lo stesso nome, viene visualizzato un messaggio di errore simile al seguente:

Migrating Report: /Reports/testThe item '/Reports/test' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports/test' already exists.
Parametri
Sottoscrizioni
Impostazioni di cronologia Viene eseguita la migrazione delle impostazioni di cronologia, ma NON dei dettagli della cronologia.
opzioni di elaborazione
opzioni di aggiornamento della cache Le impostazioni dipendenti vengono migrate come parte di un elemento del catalogo. Di seguito è riportato un esempio dello script relativo alla migrazione di un report (con estensione rdl) e delle impostazioni correlate, ad esempio le opzioni di aggiornamento della cache:

Migrazione di parametri per il report TitleOnly.rdl: 0 elementi trovati.

Migrazione di sottoscrizioni per il report TitleOnly.rdl: 1 elemento trovato.

Migrazione della sottoscrizione Salva in \\server\public\savedreports as TitleOnly ... SUCCESSO

Migrazione delle impostazioni della cronologia per il report TitleOnly.rdl ... SUCCESSO

Migrazione delle opzioni di elaborazione per il report TitleOnly.rdl ... 0 elementi trovati.

Migrazione delle opzioni di aggiornamento della cache per il report TitleOnly.rdl ... SUCCESSO

Migrazione dei piani di aggiornamento della cache per il report TitleOnly.rdl: 1 elemento trovato.

Migrazione del piano di aggiornamento della cache titleonly_refresh735amM2F ... SUCCESSO
Piani di aggiornamento della cache
Immagini
Parti del report

Autorizzazioni necessarie

Le autorizzazioni necessarie per leggere o scrivere elementi e risorse non sono le stesse per tutti i metodi utilizzati nello script. Nella tabella seguente sono riepilogati i metodi usati per ogni elemento o risorsa e vengono forniti collegamenti al contenuto correlato. Passare all'argomento specifico per visualizzare le autorizzazioni necessarie. Ad esempio nell'argomento del metodo ListChildren sono indicate le autorizzazioni necessarie:

  • Autorizzazioni necessarie per la modalità nativa: ReadProperties su Item

  • Autorizzazioni necessarie per la modalità SharePoint: ViewListItems

Elemento o risorsa Source (Sorgente) Destinazione
Elementi del catalogo ListChildren

GetProperties

GetItemDataSources

GetItemReferences

GetDataSourceContents

GetItemLink
CreateCatalogItem

SetItemDataSources

GetItemReferences

CreateDataSource

CreateLinkedItem

CreateFolder
Ruolo ListRoles

GetRoleProperties
CreateRole
Criteri di sistema GetSystemPolicies SetSystemPolicies
Pianificazione ListSchedules CreateSchedule
Subscription ListSubscriptions

GetSubscriptionProperties

GetDataDrivenSubscriptionProperties
CreateSubscription

CreateDataDrivenSubscription
Piano di aggiornamento della cache ListCacheRefreshPlans

GetCacheRefreshPlanProperties
CreateCacheRefreshPlan
Parametri GetItemParameters SetItemParameters
Opzioni di esecuzione GetExecutionOptions SetExecutionOptions
Opzioni cache GetCacheOptions SetCacheOptions
Impostazioni di cronologia GetItemHistoryOptions SetItemHistoryOptions
Criteri degli elementi GetPolicies SetPolicies

Per altre informazioni, vedere Confrontare ruoli e attività di Reporting Services con autorizzazioni e gruppi di SharePoint.

Come usare lo script

  1. Scaricare il file script in una cartella locale, ad esempio c:\rss\ssrs_migration.rss.

  2. Aprire un prompt dei comandi con privilegi amministrativi.

  3. Passare alla cartella che contiene il file ssrs_migration.rss.

  4. Eseguire il comando con i parametri appropriati per lo scenario di interesse.

Esempio di base, da server di report in modalità nativa a server di report in modalità nativa:

Nell'esempio seguente viene eseguita la migrazione del contenuto da Sourceserver in modalità nativa a Targetserverin modalità nativa.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"

Note sull'utilizzo:

  • Lo script viene eseguito in due passaggi.

    Il primo passaggio è un controllo, per la restituzione di un elenco di elementi di cui verrà eseguita la migrazione, e il secondo passaggio è il processo di migrazione.

    È possibile annullare lo script dopo il primo passaggio se si desidera semplicemente visualizzare il possibile elenco di migrazione oppure modificare i parametri. Le impostazioni dipendenti non sono elencate nel primo passaggio. Ad esempio, non sono elencate le opzioni della cache di un report, ma è elencato il report stesso.

    Suggerimento

    Se si vuole controllare solo un singolo server, usare lo stesso server per l'origine e la destinazione e ignorare i passaggi successivi al passaggio 1.

    Per un utilizzo corretto delle informazioni di controllo del primo passaggio, esaminare i ruoli esistenti in entrambi i server in modalità nativa, quello di origine e quello di destinazione. Di seguito è riportato un esempio dell'elenco di controllo del primo passaggio. Si noti che l'elenco include una sezione dei ruoli, perché è stata usata l'opzione-v security="True":

    • Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: Model Item Browser

      Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: CustomRole

      Role: Model Item Browser

      Role: My Reports

      Role: Publisher

      Role: Report Builder

      Role: System Administrator

      Role: System User

      Retrieving system policies:

      Retrieving system policies:

      System policy: BUILTIN\Administrators

      System policy: domain\user1

      System policy: domain\ueser2

      Retrieving schedules:

      Schedule: theMondaySchedule

      Retrieving catalog items. This may take a while.

      Folder: /Data Sources

      DataSource: /Data Sources/Aworks2012_oltp

      Folder: /images

      Resource: /images/Boba Fett.png

      Resource: /images/R2-D2.png

      Folder: /Reports

      Report: /Reports/products

      Report: /Reports/test

      Report: /Reports/TitleOnly

  • SOURCE_URL e TARGET_URL devono essere URL di server di report validi che fanno riferimento al server di report di Reporting Services di origine e di destinazione. In modalità nativa, l'URL di un server di report è simile al seguente:

    • https://servername/reportserver

    In modalità SharePoint l'URL è simile al seguente:

    • https://servername/_vti_bin/reportserver
  • La struttura di cartelle virtuale presentata all'utente in SharePoint potrebbe essere diversa da quella sottostante. Aprire https://servername/_vti_bin/reportserver o https://servername/sites/site_name/_vti_bin/reportserver in un browser per vedere la struttura di cartelle non virtuale. Ciò può essere utile per impostare la cartella di origine e quella di destinazione su un valore diverso da "/", per un server in modalità SharePoint.

  • Per le password non viene eseguita la migrazione ed è necessario reimmetterle, ad esempio per origini dati con le credenziali archiviate.

Descrizione dei parametri

Parametro Descrizione Obbligatorio
-s Source_URL URL del server di report di origine
-u dominio\password -p password Credenziali per il server di origine. FACOLTATIVO, se non viene impostato vengono utilizzate le credenziali predefinite
-v st="SITE" FACOLTATIVO Questo parametro viene utilizzato solo per i server di report in modalità SharePoint.
- v f="SOURCEFOLDER" Impostato su "/" per eseguire la migrazione di tutti gli elementi o su un valore come "/cartella/sottocartella" per una migrazione parziale. Vengono copiati tutti gli elementi in questa cartella FACOLTATIVO, l'impostazione predefinita è "/".
-v ts="TARGET_URL" URL del server RS di destinazione
-v tu="dominio\nomeutente" -v tp="password" Credenziali per il server di destinazione. FACOLTATIVO, se non viene impostato vengono utilizzate le credenziali predefinite. Nota: l'utente viene elencato come "autore" di pianificazioni condivise e come account "modificato da" per gli elementi del report nel server di destinazione.
-v tst="SITE" FACOLTATIVO Questo parametro viene utilizzato solo per i server di report in modalità SharePoint.
-v tf ="TARGETFOLDER" Impostato su "/" per eseguire la migrazione al livello radice. Impostato su "/cartella/sottocartella" per effettuare la copia in una cartella già esistente. Tutto il contenuto di "SOURCEFOLDER" viene copiato in "TARGETFOLDER". FACOLTATIVO, l'impostazione predefinita è "/".
-v security= "True/False" Se impostato su "False", gli elementi del catalogo di destinazione ereditano le impostazioni di sicurezza in base alle impostazioni del sistema di destinazione. Si tratta dell'impostazione consigliata per le migrazioni tra tipi di server di report diversi, ad esempio dalla modalità nativa alla modalità SharePoint. Se impostato su "True", lo script tenta di eseguire la migrazione delle impostazioni di sicurezza. FACOLTATIVO, l'impostazione predefinita è "False".

Altri esempi

Da server di report in modalità nativa a server di report in modalità nativa

Nell'esempio seguente viene eseguita la migrazione del contenuto da Sourceserver in modalità nativa a Targetserverin modalità nativa.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"  

Nell'esempio seguente viene aggiunta l'opzione di sicurezza:

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password" -v security="True"  

Modalità nativa in modalità SharePoint - Sito radice

Nell'esempio seguente viene eseguita la migrazione da un server SourceServer in modalità nativa al "sito radice" di un server TargetServer in modalità SharePoint. Viene eseguita la migrazione delle cartelle "Reports" e "Data Sources" del server in modalità nativa come nuove raccolte nella distribuzione di SharePoint.

ssrs_rss_migrate_root_site

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p Password -v ts="http://TargetServer/_vti_bin/ReportServer" -v tu="Domain\User" -v tp="Password"  

Modalità nativa alla modalità SharePoint -'bi' raccolta siti

Nell'esempio seguente viene eseguita la migrazione del contenuto da un server in modalità nativa a un server SharePoint contenente una raccolta siti "sites/bi" e una raccolta di documenti condivisi. Lo script crea cartelle nella raccolta di documenti di destinazione. Ad esempio, lo script crea cartelle "Reports" e "Data Sources" nella raccolta documenti di destinazione.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p Password -v ts="http://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Modalità SharePoint in modalità SharePoint -'bi' raccolta siti

Nell'esempio seguente viene eseguita la migrazione del contenuto:

  • Da un server SourceServer SharePoint contenente una raccolta siti "sites/bi" e una raccolta di documenti condivisi.

  • A un server TargetServer SharePoint contenente una raccolta siti "sites/bi" e una raccolta di documenti condivisi.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/_vti_bin/reportserver -v st="sites/bi" -v f="Shared Documents" -u Domain\User1 -p Password -v ts="http://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Modalità nativa in modalità nativa - Macchina virtuale di Azure

Nell'esempio seguente viene eseguita la migrazione del contenuto:

  • Da un server di report SourceServerin modalità nativa.

  • A un server di report TargetServer in modalità nativa in cui viene eseguita una macchina virtuale Azure. TargetServer non è aggiunto al dominio di SourceServer e User2 è un amministratore della macchina virtuale di Azure TargetServer.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\user1 -p Password -v ts="http://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Password2"  

Suggerimento

Per informazioni su come usare Windows PowerShell per creare server di report di Reporting Services nelle macchine virtuali Azure, vedere Usare PowerShell per creare una macchina virtuale di Azure con un server di report in modalità nativa.

Modalità SharePoint -'bi' raccolta siti in un server in modalità nativa in una macchina virtuale di Azure

Nell'esempio seguente viene eseguita la migrazione del contenuto:

  • Da un server di report SourceServer in modalità SharePoint contenente una raccolta siti "sites/bi" e una raccolta di documenti condivisi.

  • A un server di report TargetServer in modalità nativa in cui viene eseguita una macchina virtuale Azure. TargetServer non è aggiunto al dominio di SourceServer e User2 è un amministratore della macchina virtuale di Azure TargetServer.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://uetesta02/_vti_bin/reportserver -u user1 -p Password -v ts="http://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Passowrd2"  

Verifica

Nella sezione sono riepilogati alcuni passaggi da eseguire nel server di destinazione per verificare la corretta migrazione di contenuto e criteri.

Pianificazioni

Per verificare le pianificazioni nel server di destinazione:

Modalità nativa

  1. Passare a Gestione report nel server di destinazione.

  2. Fare clic su Impostazioni sito nel menu principale.

  3. Nel riquadro sinistro fare clic su Pianificazioni .

Modalità SharePoint:

  1. Passare a Impostazioni sito.

  2. Nel gruppo Reporting Services fare clic su Gestisci pianificazioni condivise.

Ruoli e gruppi

Modalità nativa

  1. Aprire SQL Server Management Studio e connettersi al server di report in modalità nativa.

  2. In Esplora oggetti fare clic su Sicurezza.

  3. Fare clic su Ruoli.

Risoluzione dei problemi

Usare il flag di traccia –t per ricevere altre informazioni. Ad esempio, se si esegue lo script e viene visualizzato un messaggio simile al seguente

  • Impossibile connettersi al server: http://< servername>/ReportServer/ReportService2010.asmx

Eseguire di nuovo lo script con il flag -t per visualizzare un messaggio simile al seguente:

  • System.Exception: Impossibile connettersi al server: http:// servername>/ReportServer/ReportService2010.asmx ---> System.Net.WebException: La richiesta non è riuscita con stato HTTP 401: Non autorizzato.< in System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) in System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) in Microsoft.SqlServer.ReportingServices2010.ReportingService2010.IsSSLRequired() at Microsoft.ReportingServices.ScriptHost.Management2010Endpoint.PingService(String url, String userName, String password, String domain, Int32 timeout) in Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity() --- Fine dell'analisi dello stack dell'eccezione interna ---

Vedere anche

RS.exe Utility (SSRS)
Confrontare ruoli e attività di Reporting Services con autorizzazioni e gruppi di SharePoint