Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto

Usare PowerShell per creare una macchina virtuale di Azure con un server di report in modalità nativa

Aggiornamento: giugno 2015

In questo argomento vengono descritte e illustrate la distribuzione e la configurazione di un server di report in modalità nativa di SQL Server Reporting Services in una macchina virtuale di Azure. I passaggi inclusi in questo documento usano una combinazione di attività manuali per creare la macchina virtuale e uno script di Windows PowerShell per configurare Reporting Services sulla macchina virtuale. La script di configurazione include l'apertura di una porta del firewall per HTTP o HTTPS.

noteNota
Se non si usa HTTPS nel server di report, saltare il passaggio 2.

Dopo aver creato la macchina virtuale nel passaggio 1, passare alla sezione Usare lo script per configurare il server di report e HTTP. Dopo aver eseguito lo script, il server di report è pronto per l'uso.

  

Contenuto dell'argomento:

  • Sottoscrizione di Azure: verificare il numero di core disponibili nella propria sottoscrizione di Azure. Se si crea la dimensione della macchina virtuale consigliata A3, sono necessari 4 core disponibili. Se si usa la dimensione della macchina virtuale A2, sono necessari 2 core disponibili.

    Per verificare il limite di core per la sottoscrizione, nel Portale di gestione di Azure fare clic su IMPOSTAZIONI nel riquadro sinistro e quindi fare clic su USO nel menu in alto.

    Per aumentare la quota dei core, contattare il supporto di Azure. Per informazioni sulle dimensioni delle macchine virtuali, vedere Dimensioni delle macchine virtuali e dei servizi cloud per Azure.

  • Scripting di Windows PowerShell: nell'argomento si presuppone che l'utente disponga di una conoscenza di base di Windows PowerShell. Per altre informazioni sull'uso di Windows PowerShell, vedere i seguenti argomenti:

Icona freccia usata con il collegamento Torna all'inizio Top

  1. Accedere al portale di gestione di Azure.

  2. Fare clic su Macchine virtuali nel riquadro sinistro.

    macchine virtuali di Microsoft Azure
  3. Fare clic su Nuovo.

    pulsante Nuovo
  4. Fare clic su Da raccolta.

    nuova macchina virtuale da raccolta
  5. Fare clic su SQL Server 2014 RTM Standard – Windows Server 2012 R2 e quindi fare clic sulla freccia per continuare.

    avanti   

    Se è necessaria la funzionalità delle sottoscrizioni guidate dai dati di Reporting Services, scegliere SQL Server 2014 RTM Enterprise – Windows Server 2012 R2. Per altre informazioni sulle edizioni di SQL Server e il supporto delle funzionalità, vedere Funzionalità supportate dalle edizioni di SQL Server 2014.

  6. Nella pagina Configurazione macchina virtuale, modificare i seguenti campi:

    • Se sono presenti più valori per DATA DI RILASCIO VERSIONE, selezionare la versione più recente.

    • Nome della macchina virtuale: il nome del computer viene usato anche nella pagina di configurazione successiva come nome DNS predefinito del servizio cloud. Il nome DNS deve essere univoco nel servizio Azure. È consigliabile specificare per la macchina virtuale un nome di computer che ne descriva lo scopo d'uso. Ad esempio ssrsnativecloud.

    • Livello: Standard

    • Dimensioni:A3 è la dimensione consigliata per la macchina virtuale per carichi di lavoro di SQL Server. Se una macchina virtuale viene usata solo come server di report, è sufficiente la dimensione A2, a meno che il server di report non venga sottoposto a carichi di lavoro elevati. Per informazioni sui prezzi, vedere Prezzi di Macchine virtuali.

    • Nuovo nome utente: il nome specificato viene creato come amministratore nella macchina virtuale.

    • Nuova password e confermare. Questa password viene usata per il nuovo account amministratore e si consiglia di usare una password complessa.

    • Scegliere Avantiavanti.

  7. Nella pagina successiva, modificare i seguenti campi:

    1. Servizio cloud: selezionare Crea un nuovo servizio cloud.

    2. Nome DNS del servizio cloud: è il nome DNS pubblico del servizio cloud associato alla macchina virtuale. Il nome predefinito è il nome immesso per la macchina virtuale. Nei passaggi successivi di questo argomento si crea un certificato SSL attendibile e il nome DNS viene usato come valore per il campo "Rilasciato a"del certificato.

    3. Area geografica/Gruppo di affinità/Rete virtuale: scegliere l'area geografica più vicina agli utenti finali.

    4. di archiviazione di Azure: viene usato un account di archiviazione generato automaticamente.

    5. Set di disponibilità: nessuno.

    6. ENDPOINT Mantenere gli endpoint Desktop remoto e PowerShell e quindi aggiungere un endpoint HTTP o HTTPS, a seconda dell'ambiente.

      • HTTP: le porte pubbliche e private predefinite sono le porte 80.

        noteNota
        Se si usa una porta privata diversa dalla porta 80, modificare $HTTPport = 80 nello script HTTP.

      • HTTPS: le porte pubbliche e private predefinite sono le porte 443. Una procedura consigliata di sicurezza consiste nel modificare la porta privata e configurare il firewall e il server di report per usare la porta privata. Per altre informazioni sugli endpoint, vedere Come configurare gli endpoint a una macchina virtuale.

      noteNota
      Se si usa una porta diversa dalla 443, modificare il parametro $HTTPsport = 443 nello script HTTPS.

    7. Scegliere Avanti avanti.

  8. Nell'ultima pagina della procedura guidata, mantenere l'impostazione predefinita Installa l'agente di macchine virtuali selezionata. I passaggi descritti in questo argomento non usano l'agente di macchine virtuali, ma se si prevede di mantenere questa macchina virtuale, l'agente di macchine virtuali e le estensioni consentiranno di migliorare la CM. Per altre informazioni sull'agente di macchine virtuali, vedere il blog sull'agente di macchine virtuali e sulle estensioni, parte 1. Una delle estensioni predefinite installate e in esecuzione è l'estensione "BGINFO" che visualizza sul desktop della macchina virtuale informazioni di sistema come l'indirizzo IP interno e lo spazio disponibile sull'unità.

  9. Fare clic su Operazione completata OK.

  10. Viene visualizzato lo Stato della macchina virtuale come Avvio in corso (Provisioning) durante il processo di provisioning e come In esecuzione quando il provisioning della macchina virtuale è completato ed è possibile usarla.

Icona freccia usata con il collegamento Torna all'inizio Top

noteNota
Se non si usa HTTPS nel server di report, è possibile saltare il passaggio 2 e passare alla sezione Usare lo script per configurare il server di report e HTTP. Usare lo script HTTP per configurare rapidamente il server di report che quindi sarà pronto per l'uso.

Per usare HTTPS sulla macchina virtuale, è necessario un certificato SSL attendibile. A seconda dello scenario, è possibile scegliere uno dei due metodi:

  1. Richiedere un certificato del server per il sito Web da un'autorità di certificazione.

    È possibile usare la Gestione guidata certificati server Web per generare un file di richiesta di certificato (Certreq.txt) da inviare a un'autorità di certificazione o per generare una richiesta per un'autorità di certificazione online, ad esempio Microsoft Certificate Services in Windows Server 2012. A seconda del livello di garanzia di identificazione offerto dal certificato del server, è possibile che l'autorità di certificazione impieghi da alcuni giorni a diversi mesi per approvare la richiesta e inviare un file di certificato.

    Per altre informazioni sulla richiesta dei certificati del server, vedere gli argomenti seguenti:

    ImportantImportante
    Il campo Rilasciato a del certificato SSL attendibile deve essere uguale a NOME DNS del servizio cloud usato per la nuova macchina virtuale.

  2. Installare il certificato del server nel server Web . Il server Web in questo caso è la macchina virtuale che ospita il server di report e il sito Web viene creato nei passaggi successivi quando si configura Reporting Services. Per altre informazioni sull'installazione del certificato del server sul server Web tramite lo snap-in Certificati di MMC, vedere la pagina relativa all'installazione di un certificato del server.

    Se si desidera usare lo script incluso in questo argomento, per configurare il server di report, il valore dell'identificazione personale dei certificati è richiesto come parametro dello script. Vedere la sezione successiva per altre informazioni su come ottenere l'identificazione personale del certificato.

  3. Assegnare il certificato del server al server di report. L'assegnazione è completata nella sezione successiva quando si configura il server di report.

Icona freccia usata con il collegamento Torna all'inizio Top

Un certificato autofirmato è stato creato sulla macchina virtuale quando la macchina virtuale è stata sottoposta al provisioning. Il certificato con lo stesso nome del nome DNS della macchina virtuale. Per evitare errori del certificato, è necessario che il certificato sia considerato attendibile dalla macchina virtuale e da tutti gli utenti del sito.

  1. Per rendere attendibile l'autorità di certificazione radice del certificato nella macchina virtuale locale, aggiungere il certificato alle autorità di certificazione radice attendibili. D seguito è riportato un riepilogo dei passaggi necessari. Per indicazioni dettagliate su come impostare l'autorità di certificazione come attendibile, vedere la pagina relativa all'installazione di un certificato del server.

    1. Nel portale di gestione di Azure selezionare la macchina virtuale e fare clic su Connetti. A seconda della configurazione del browser, potrebbe venire richiesto di salvare un file RDP per connettersi alla macchina virtuale.

      connessione alla macchina virtuale di Azure Usare il nome utente della macchina virtuale, il nome utente e la password configurati durante la creazione della macchina virtuale. Nell'immagine seguente, ad esempio, il nome della macchina virtuale è ssrsnativecloud e il nome utente è testuser.

      Accesso che include il nome della macchina virtuale
    2. Eseguire mmc.exe. Per altre informazioni, vedere la procedura Visualizzare i certificati con lo snap-in di MMC.

    3. Nel menu File dell'applicazione console aggiungere lo snap-in Certificati, selezionare Account del computer quando richiesto e quindi fare clic su Avanti.

    4. Selezionare Computer locale per gestire, quindi fare clic su Fine.

    5. Fare clic su OK e quindi espandere i nodi Certificati -Personali, infine fare clic su Certificati. Il certificato viene citato dopo il nome DNS della macchina virtuale e termina con cloudapp.net. Fare clic con il pulsante destro del mouse sul nome del certificato e scegliere Copia.

    6. Espandere il nodo Autorità di certificazione radice attendibili quindi fare clic con il pulsante destro del mouse su Certificati e scegliere Incolla.

    7. Per convalidare, fare doppio clic sul nome del certificato in Autorità di certificazione radice attendibili e verificare che non siano presenti errori e che il certificato sia presente. Se si vuole usare lo script HTTPS incluso in questo argomento, per configurare il server di report, il valore dell'identificazione personale dei certificati è richiesto come parametro dello script. Per ottenere il valore dell'identificazione personale, eseguire le operazioni seguenti. È anche disponibile un esempio di PowerShell per recuperare l'identificazione personale nella sezione Usare lo script per configurare il server di report e HTTPS.

      1. Fare doppio clic sul nome del certificato, ad esempio ssrsnativecloud.cloudapp.net.

      2. Fare clic sulla scheda Dettagli.

      3. Fare clic su Identificazione personale. Il valore dell'identificazione personale viene visualizzato nel campo dei dettagli, ad esempio ‎a6 08 3c df f9 0b f7 e3 7c 25 ed a4 ed 7e ac 91 9c 2c fb 2f.

      4. Copiare l'identificazione personale e salvare il valore per un secondo momento oppure procedere con la modifica dello script.

      5. * Prima di eseguire lo script, rimuovere gli spazi tra le coppie di valori. Ad esempio, l'identificazione personale annotata in precedenza ora sarebbe ‎a6083cdff90bf7e37c25eda4ed7eac919c2cfb2f.

  2. Assegnare il certificato del server al server di report. L'assegnazione è completata nella sezione successiva quando si configura il server di report.

Se si usa un certificato SSL autofirmato, il nome sul certificato corrisponde già al nome host della macchina virtuale. Pertanto, il DNS del computer è già registrato a livello globale ed è accessibile da qualsiasi client.

Icona freccia usata con il collegamento Torna all'inizio Top

Questa sezione descrive come configurare la macchina virtuale come server di report in modalità nativa di Reporting Services. Per configurare il server di report, usare uno dei metodi seguenti:

Per istruzioni più dettagliate, vedere la sezione Connettersi alla macchina virtuale e avviare Gestione configurazione Reporting Services.

Nota sull'autenticazione: l'autenticazione di Windows è il metodo di autenticazione consigliato ed è l'autenticazione predefinita di Reporting Services. Solo gli utenti configurati sulla macchina virtuale possono accedere a Reporting Services e assegnare a ruoli di Reporting Services.

Per usare lo script di Windows PowerShell per configurare il server di report, effettuare le operazioni seguenti. La configurazione include HTTP, ma non HTTPS:

  1. Nel portale di gestione di Azure selezionare la macchina virtuale e fare clic su Connetti. A seconda della configurazione del browser, potrebbe venire richiesto di salvare un file RDP per connettersi alla macchina virtuale.

    connessione alla macchina virtuale di Azure Usare il nome utente della macchina virtuale, il nome utente e la password configurati durante la creazione della macchina virtuale. Nell'immagine seguente, ad esempio, il nome della macchina virtuale è ssrsnativecloud e il nome utente è testuser.

    Accesso che include il nome della macchina virtuale
  2. Nella macchina virtuale, aprire Windows PowerShell ISE con privilegi amministrativi. PowerShell ISE è installato per impostazione predefinita in Windows Server 2012. È consigliabile usare ISE anziché una finestra standard di Windows PowerShell in modo che sia possibile inserire lo script in ISE, modificarlo ed eseguirlo.

  3. In Windows PowerShell ISE, fare clic sul menu Visualizza quindi scegliere Mostra riquadro di script.

  4. Copiare lo script seguente e incollare lo script nel riquadro di script di Windows PowerShell ISE.

    ## This script configures a Native mode report server without HTTPS
    $ErrorActionPreference = "Stop"
    
    $server = $env:COMPUTERNAME
    $HTTPport = 80 # change the value if you used a different port for the private HTTP endpoint when the VM was created.
    
    ## Set PowerShell execution policy to be able to run scripts
    Set-ExecutionPolicy RemoteSigned -Force
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Report Server Configuration Steps
    
    ## Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port $HTTPport (for local usage)
        write-host "Calling ReserveURL port $HTTPport"
        $r = $RSObject.ReserveURL('ReportServerWebService',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportServer port $HTTPport" 
       
    ## Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS              ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port $HTTPport
        write-host "Calling ReserveURL for ReportManager, port $HTTPport"
        $r = $RSObject.ReserveURL('ReportManager',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportManager port $HTTPport"
    
    write-host -foregroundcolor green "Open Firewall port for $HTTPport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $HTTPport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $HTTPport)” -Direction Inbound –Protocol TCP –LocalPort $HTTPport
        write-host "Added rule Report Server (TCP on port $HTTPport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time 
    
    
  5. Se la macchina virtuale è stata creata con una porta HTTP diversa dalla 80, modificare il parametro $HTTPport = 80.

  6. Lo script è attualmente configurato per Reporting Services. Per eseguire lo script per Reporting Services, modificare la parte relativa alla versione del percorso dello spazio dei nomi in "v11" nell'istruzione Get-WmiObject.

  7. Eseguire lo script.

Convalida: per verificare che la funzionalità di base del server di report sia operativa, vedere la sezione Verificare la configurazione più avanti in questo argomento.

Icona freccia usata con il collegamento Torna all'inizio Top

Per usare Windows PowerShell per configurare il server di report, effettuare le operazioni seguenti. La configurazione include HTTPS, ma non HTTP.

  1. Nel portale di gestione di Azure selezionare la macchina virtuale e fare clic su Connetti. A seconda della configurazione del browser, potrebbe venire richiesto di salvare un file RDP per connettersi alla macchina virtuale.

    connessione alla macchina virtuale di Azure Usare il nome utente della macchina virtuale, il nome utente e la password configurati durante la creazione della macchina virtuale. Nell'immagine seguente, ad esempio, il nome della macchina virtuale è ssrsnativecloud e il nome utente è testuser.

    Accesso che include il nome della macchina virtuale
  2. Nella macchina virtuale, aprire Windows PowerShell ISE con privilegi amministrativi. PowerShell ISE è installato per impostazione predefinita in Windows Server 2012. È consigliabile usare ISE anziché una finestra standard di Windows PowerShell in modo che sia possibile inserire lo script in ISE, modificarlo ed eseguirlo.

  3. Per abilitare l'esecuzione di script, eseguire il seguente comando di Windows PowerShell:

    Set-ExecutionPolicy RemoteSigned
    
    È quindi possibile eseguire il comando seguente per verificare i criteri

    Get-ExecutionPolicy
    
  4. In Windows PowerShell ISE, fare clic sul menu Visualizza quindi scegliere Mostra riquadro di script.

  5. Copiare lo script seguente e incollarlo nel riquadro di script di Windows PowerShell ISE.

    ## This script configures the report server, including HTTPS
    $ErrorActionPreference = "Stop"
    $httpsport=443 # modify if you used a different port number when the HTTPS endpoint was created.
    
    # You can run the following command to get (.cloudapp.net certificates) so you can copy the thumbprint / certificate hash
    #dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
    #
    # The certifacte hash is a REQUIRED parameter
    $certificatehash="" 
    # the certificate hash should not contain spaces
    
    if ($certificatehash.Length -lt 1) 
    {
        write-error "certificatehash is a required parameter"
    } 
    # Certificates should be all lower case
    $certificatehash=$certificatehash.ToLower()
    $server = $env:COMPUTERNAME
    # If the certificate is not a wildcard certificate, comment out the following line, and enable the full $DNSNAme reference.
    $DNSName="+"
    #$DNSName="$server.cloudapp.net"
    $DNSNameAndPort = $DNSName + ":$httpsport"
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    write-host "The script will use $DNSNameAndPort as the DNS name and port" 
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Reporting Services Report Server Configuration Steps
    
    ## 1. Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port 80 (for local usage)
        write-host 'Calling ReserveURL port 80'
        $r = $RSObject.ReserveURL('ReportServerWebService','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportServer port 80" 
    
    ## ReserveURL for ReportServerWebService - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportServerWebService',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportServer port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportServerWebService port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport, with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportServerWebService',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportServer port $httpsport" 
        
    ## 2. Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS                    ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## 3. Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port 80
        write-host 'Calling ReserveURL for ReportManager, port 80'
        $r = $RSObject.ReserveURL('ReportManager','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportManager port 80"
    
    ## ReserveURL for ReportManager - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportManager',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportManager port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportManager port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportManager',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportManager port $httpsport" 
    
    write-host -foregroundcolor green "Open Firewall port for $httpsport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $httpsport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $httpsport)” -Direction Inbound –Protocol TCP –LocalPort $httpsport
        write-host "Added rule Report Server (TCP on port $httpsport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    
     

  6. Modificare i seguenti parametri nello script:

    1. $certificatehash: Questo è un parametro obbligatorio. Se il valore del certificato dei passaggi precedenti non è stato salvato, applicare uno dei metodi seguenti per copiare il valore hash del certificato dall'identificazione personale del certificato:

      • Nella macchina virtuale, aprire Windows PowerShell ISE ed eseguire il seguente comando:

        dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
        
      • L'output sarà simile al seguente. Se lo script restituisce una riga vuota, la macchina virtuale non avrà ad esempio un certificato configurato. Vedere la sezione Per usare il certificato autofirmato delle macchine virtuali.

      OPPURE

      1. Sulla macchina virtuale eseguire mmc.exe e quindi aggiungere lo snap-in Certificati.

      2. Nel nodo Autorità di certificazione radice attendibili fare doppio clic sul nome del certificato. Se si usa il certificato autofirmato della macchina virtuale, il certificato è citato dopo il nome DNS della macchina virtuale e termina con cloudapp.net

      3. Fare clic sulla scheda Dettagli.

      4. Fare clic su Identificazione personale. Il valore dell'identificazione personale viene visualizzato nel campo dei dettagli, ad esempio af 11 60 b6 4b 28 8d 89 0a 82 12 ff 6b a9 c3 66 4f 31 90 48.

      5. Prima di eseguire lo script, rimuovere gli spazi tra le coppie di valori. ad esempio af1160b64b288d890a8212ff6ba9c3664f319048

    2. $httpsport: Se si usa la porta 443 per l'endpoint HTTPS, non è necessario aggiornare il parametro nello script. In caso contrario, usare il valore della porta selezionato durante la configurazione dell'endpoint privato HTTPS nella macchina virtuale.

    3. $DNSName: Lo script è configurato per un certificato con caratteri jolly $DNSName="+". Se non si vuole configurare il binding per un certificato con caratteri jolly, impostare $DNSName="+" come commento e abilitare la riga seguente, ovvero il riferimento completo a $DNSNAme, ##$DNSName="$server.cloudapp.net".

      Modificare il valore di $DNSName se non si vuole usare il nome DNS della macchina virtuale per Reporting Services. Se si usa il parametro, il certificato deve usare anche questo nome e registrare il nome a livello globale in un server DNS.

    4. Lo script è attualmente configurato per Reporting Services. Per eseguire lo script per Reporting Services, modificare la parte relativa alla versione del percorso dello spazio dei nomi in "v11" nell'istruzione Get-WmiObject.

  7. Eseguire lo script.

Convalida: per verificare che la funzionalità di base del server di report sia operativa, vedere la sezione Verificare la configurazione più avanti in questo argomento. Per verificare il binding del certificato, aprire un prompt dei comandi con privilegi amministrativi ed eseguire il comando seguente:

netsh http show sslcert

Il risultato includerà il codice seguente:

IP:port : 0.0.0.0:443

Certificate Hash : f98adf786994c1e4a153f53fe20f94210267d0e7

Icona freccia usata con il collegamento Torna all'inizio Top

Se non si vuole eseguire lo script di PowerShell per configurare il server di report, seguire i passaggi in questa sezione per usare Gestione configurazione in modalità nativa di Reporting Services per configurare il server di report.

  1. Nel portale di gestione di Azure selezionare la macchina virtuale e fare clic su Connetti. Usare il nome utente e la password configurati durante la creazione della macchina virtuale.

    connessione alla macchina virtuale di Azure
  2. Eseguire Windows Update e installare gli aggiornamenti nella macchina virtuale. Se è necessario un riavvio della macchina virtuale, riavviarla e riconnettersi alla macchina virtuale dal portale di gestione di Azure.

  3. Il menu Start della macchina virtuale, digitare Reporting Services e aprire Gestione configurazione Reporting Services.

  4. Mantenere i valori predefiniti per Nome server e Istanza server di report. Fare clic su Connetti.

  5. Nel riquadro sinistro, fare clic su URL servizio Web.

  6. Per impostazione predefinita, Reporting Services è configurato per la porta 80 HTTP con IP "Tutti assegnati". Per aggiungere HTTPS:

    1. In Certificato SSL: selezionare il certificato che si desidera usare, ad esempio [VM name].cloudapp.net. Se nell'elenco non sono presenti certificati, vedere la sezione Passaggio 2: creare un certificato di servizio per informazioni su come installare e rendere attendibile il certificato nella macchina virtuale.

    2. In Porta SSL: scegliere 443. Se è stato configurato l'endpoint privato HTTPS nella macchina virtuale con una porta privata diversa, usare quel valore.

    3. Fare clic su Applica e attendere il completamento dell'operazione.

  7. Nel riquadro sinistro, fare clic su Database.

    1. Fare clic su Cambia database.

    2. Fare clic su Crea un nuovo database del server di report, quindi scegliere Avanti.

    3. Mantenere invariato il valore predefinito di Nome server: come nome della macchina virtuale e il valore predefinito di Tipo di autenticazione come Utente corrente –Sicurezza integrata. Fare clic su Avanti.

    4. Mantenere il valore predefinito di Nome database come ReportServer e fare clic su Avanti.

    5. Mantenere il valore predefinito di Tipo di autenticazione come Credenziali del servizio e fare clic su Avanti.

    6. Nella pagina Riepilogo fare clic su Avanti.

    7. Al termine della configurazione fare clic su Fine.

  8. Nel riquadro sinistro, fare clic su URL Gestione report. Mantenere il valore predefinito di Directory virtuale come Report e fare clic su Applica.

  9. Fare clic su Esci per chiudere Gestione configurazione Reporting Services.

Icona freccia usata con il collegamento Torna all'inizio Top

noteNota
Se è stato usato uno degli script per configurare il server di report, è possibile ignorare questa sezione. Lo script include un passaggio per aprire la porta del firewall. L'impostazione predefinita è la porta 80 per HTTP e la porta 443 per HTTPS.

Per connettersi in remoto a Gestione report o al server di report nella macchina virtuale, è necessario un endpoint TCP nella macchina virtuale. È necessario per aprire la stessa porta nel firewall della macchina virtuale. L'endpoint è stato creato quando la macchina virtuale è stata sottoposta al provisioning.

In questa sezione vengono fornite le informazioni di base su come aprire la porta del firewall. Per altre informazioni, vedere Configurare un firewall per l'accesso al server di report

noteNota
Se si usa lo script per configurare il server di report, è possibile ignorare questa sezione. Lo script include un passaggio per aprire la porta del firewall.

Se è stata configurata una porta privata per HTTPS diversa dalla 443, modificare di conseguenza il seguente script. Per aprire la porta 443 in Windows Firewall, completare le operazioni seguenti:

  1. Aprire una finestra di Windows PowerShell con privilegi amministrativi.

  2. Se si usa una porta diversa dalla 443 al momento della configurazione dell'endpoint HTTPS nella macchina virtuale, aggiornare la porta nel comando seguente ed eseguire il comando:

    New-NetFirewallRule -DisplayName “Report Server (TCP on port 443)” -Direction Inbound –Protocol TCP –LocalPort 443
    
  3. Quando il comando viene completato, viene visualizzato OK nel prompt dei comandi.

Per verificare che la porta sia aperta, aprire una finestra Windows PowerShell ed eseguire il seguente comando:

get-netfirewallrule | where {$_.displayname -like "*report*"} | select displayname,enabled,action

Icona freccia usata con il collegamento Torna all'inizio Top

Per verificare che le funzionalità di base del server di report funzionino, aprire il browser con privilegi amministrativi e quindi passare agli URL seguenti del server di report e di Gestione report:

  • Passare all'URL del server di report nella macchina virtuale:

    http://localhost/reportserver
    
  • Passare all'URL di gestione report nella macchina virtuale:

    http://localhost/Reports
    
  • Dal computer locale, passare all'URL di Gestione report remoto per la macchina virtuale. Aggiornare il nome DNS nell'esempio seguente come necessario. Quando viene richiesta una password, usare le credenziali di amministratore create quando è stato eseguito il provisioning della macchina virtuale. Il nome utente è nel formato [Dominio]\[nome utente], dove il dominio è nome del computer della macchina virtuale, ad esempio ssrsnativecloud\testuser. Se non si usa HTTPS, rimuovere la s dall'URL. Vedere la sezione successiva per informazioni sulla creazione di utenti aggiuntivi nella macchina virtuale.

    https://ssrsnativecloud.cloudapp.net/Reports
    
  • Dal computer locale passare all'URL del server di report remoto. Aggiornare il nome DNS nell'esempio seguente come necessario. Se non si usa HTTPS, rimuovere la s dall'URL.

    https://ssrsnativecloud.cloudapp.net/ReportServer
    

Icona freccia usata con il collegamento Torna all'inizio Top

Dopo aver configurato e verificato il server di report, un'attività amministrativa comune consiste nel creare uno o più utenti e nell'assegnare gli utenti ai ruoli di Reporting Services. Per altre informazioni, vedere quanto segue:

Icona freccia usata con il collegamento Torna all'inizio Top

Nella tabella seguente vengono riepilogate alcune delle opzioni disponibili per pubblicare i report esistenti da un computer locale al server di report ospitato nella Macchina virtuale di Microsoft Azure:

Icona freccia usata con il collegamento Torna all'inizio Top

TipSuggerimento
Per ridurre i costi di Macchine virtuale di Azure se non viene usato, arrestare la macchina virtuale dal portale di gestione di Azure. Se si usano le opzioni di alimentazione di Windows in una macchina virtuale per arrestarla, viene comunque addebitato lo stesso importo per la macchina virtuale. Per ridurre i costi, è necessario arrestare la macchina virtuale dal portale di gestione di Azure. Se la macchina virtuale non è più necessaria, ricordare di eliminare la macchina virtuale e i file VHD associati per evitare spese di archiviazione. Per altre informazioni, vedere la sezione delle domande frequenti in Prezzi d Macchine virtuali.

Icona freccia usata con il collegamento Torna all'inizio Top

Icona freccia usata con il collegamento Torna all'inizio Top

Icona freccia usata con il collegamento Torna all'inizio Top

Vedere anche

Mostra:
© 2015 Microsoft