Installazione di Reporting e Internet Information Services Side-by-SideInstall Reporting and Internet Information Services Side-by-Side

QUESTO ARGOMENTO SI APPLICA A:THIS TOPIC APPLIES TO: sìSQL Server Reporting Services (2016 e successive)SQL Server Reporting Services (2016 and later) sìServer di report di Power BIPower BI Report Server sìSQL Server Reporting Services (2016 e successive)SQL Server Reporting Services (2016 and later) sìServer di report di Power BIPower BI Report Server

Per contenuti relativi a versioni precedenti di SQL Server Reporting Services, vedere SQL Server Reporting Services 2014.For content related to previous versions of SQL Server Reporting Services, see SQL Server Reporting Services 2014.

È possibile installare ed eseguire SQL Server Reporting Services (SSRS) e Internet Information Services (IIS) nello stesso computer.You can install and run SQL Server Reporting Services (SSRS) and Internet Information Services (IIS) on the same computer. La versione di IIS utilizzata determina i problemi di interoperabilità che è necessario risolvere.The version of IIS that you are using determines the interoperability issues you must address.

Versione di IISIIS version ProblemiIssues DescrizioneDescription
8.0, 8.58.0, 8.5 Richieste destinate a un'applicazione vengono accettate da un'applicazione diversa.Requests intended for one application are accepted by a different application.

HTTP.SYS applica regole di precedenza per le prenotazioni URL.HTTP.SYS enforces precedence rules for URL reservations. Le richieste inviate ad applicazioni con lo stesso nome di directory virtuale e che eseguono congiuntamente il monitoraggio della porta 80 potrebbero non raggiungere la destinazione desiderata se la prenotazione URL è debole rispetto alla prenotazione URL di un'altra applicazione.Requests that are sent to applications that have the same virtual directory name and that jointly monitor port 80 might not reach the intended target if the URL reservation is weak relative to the URL reservation of another application.
In determinate condizioni, un endpoint registrato che prevale su un altro endpoint URL nello schema di prenotazione degli URL potrebbe ricevere richieste HTTP destinate all'altra applicazione.Under certain conditions, a registered endpoint that supersedes another URL endpoint in the URL reservation scheme might receive HTTP requests intended for the other application.

L'uso di nomi univoci per le directory virtuali per il servizio Web ReportServer e portale Webweb portal consente di evitare questo conflitto.Using unique virtual directory names for the Report Server Web service and the portale Webweb portal helps you avoid this conflict.

Informazioni dettagliate su questo scenario vengono fornite nel presente argomento.Detailed information about this scenario is provided in this topic.

Regole di precedenza per le prenotazioni URLPrecedence Rules for URL Reservations

Prima di poter passare alla risoluzione dei problemi di interoperabilità tra IIS e Reporting ServicesReporting Services, è necessario comprendere le regole di precedenza relative alle prenotazioni di URL.Before you can address interoperability issues between IIS and Reporting ServicesReporting Services, you must understand URL reservation precedence rules. Le regole di precedenza possono essere generalizzate nell'affermazione in base alla quale una prenotazione URL che ha valori definiti in modo più esplicito ha la precedenza nella ricezione di richieste che corrispondono all'URL.Precedence rules can be generalized into the following statement: a URL reservation that has more explicitly defined values is first in line to receive requests that match the URL.

  • Una prenotazione URL che specifica una directory virtuale è più esplicita di una prenotazione che la omette.A URL reservation that specifies a virtual directory is more explicit than one that omits a virtual directory.

  • Una prenotazione URL che specifica un solo indirizzo (come indirizzo IP, nome di dominio completo, nome di un computer di rete o nome host) è più esplicita rispetto a un carattere jolly.A URL reservation that specifies a single address (by way of an IP address, a fully qualified domain name, a network computer name, or a host name) is more explicit than a wildcard.

  • Una prenotazione URL che specifica un carattere jolly complesso è più esplicita rispetto a una prenotazione che utilizza un carattere jolly vulnerabile.A URL reservation that specifies a strong wildcard is more explicit than a weak wildcard.

    Negli esempi seguenti è mostrato un intervallo di prenotazioni URL, ordinate dalle più esplicite a quelle meno esplicite:The following examples show a range of URL reservations, ordered from most explicit to least explicit:

EsempioExample RichiestaRequest
http://123.234.345.456:80/reports Riceve tutte le richieste inviate al http://123.234.345.456/reports o http://\<computername>/reports se il servizio DNS può risolvere l'indirizzo IP in tale nome host.Receives all requests that are sent to http://123.234.345.456/reports or http://\<computername>/reports if a domain name service can resolve the IP address to that host name.
http://+:80/reports Riceve tutte le richieste inviate a qualsiasi indirizzo IP o nome host valido per tale computer finché l'URL contiene il nome della directory virtuale "reports".Receives any requests that are sent to any IP address or host name that is valid for that computer as long as the URL contains the "reports" virtual directory name.
http://123.234.345.456:80 Riceve qualsiasi richiesta che specifica http://123.234.345.456 o http://\<computername> se il servizio DNS può risolvere l'indirizzo IP in tale nome host.Receives any request that specifies http://123.234.345.456 or http://\<computername> if a domain name service can resolve the IP address to that host name.
http://+:80 Riceve le richieste che non sono già state ricevute da altre applicazioni, per qualsiasi endpoint dell'applicazione di cui è stato eseguito il mapping all'opzione Tutti assegnati.Receives requests that are not already received by other applications, for any application endpoints that are mapped to All Assigned.
http://*:80 Riceve le richieste che non sono già state ricevute da altre applicazioni, per gli endpoint dell'applicazione di cui è stato eseguito il mapping all'opzione Non assegnati.Receives requests that are not already received by other applications, for application endpoints that are mapped to All Unassigned.

Un'indicazione di un conflitto di porte è la visualizzazione del messaggio di errore seguente: "System.IO.FileLoadException: Il processo non può accedere al file perché è in uso da un altro processo.One indication of a port conflict is that you will see the following error message: 'System.IO.FileLoadException: The process cannot access the file because it is being used by another process. (Eccezione da HRESULT: 0x80070020)".(Exception from HRESULT: 0x80070020).'

Prenotazioni URL per IIS 8.0, 8.5 con SQL Server Reporting ServicesURL Reservations for IIS 8.0, 8.5 with SQL Server Reporting Services

Stabilite le regole di precedenza descritte nella sezione precedente, è possibile iniziare a comprendere in che modo le prenotazioni URL definite per Reporting Services e IIS agevolino l'interoperabilità.Given the precedence rules outlined in the previous section, you can begin to understand how URL reservations defined for Reporting Services and IIS promote interoperability. Reporting Services riceve le richieste che specificano in modo esplicito i nomi delle directory virtuali per le proprie applicazioni, mentre IIS riceve tutte le richieste rimanenti che possono pertanto essere dirette ad applicazioni eseguite all'interno del modello di processo di IIS.Reporting Services receives requests that explicitly specify the virtual directory names for its applications; IIS receives all remaining requests, which can then be directed to applications that run within the IIS process model.

ApplicazioneApplication Prenotazione URLURL reservation DescrizioneDescription Ricezione richiestaRequest receipt
Server di reportReport Server http://+:80/ReportServer Carattere jolly complesso sulla porta 80, con directory virtuale del server di report.Strong wildcard on port 80, with report server virtual directory. Riceve sulla porta 80 tutte le richieste che specificano la directory virtuale del server di report.Receives all requests on port 80 that specify the report server virtual directory. Il servizio Web ReportServer riceve tutte le richieste a http://<computername > / reportserver.The Report Server Web service receives all requests to http://<computername>/reportserver.
Portale WebWeb portal http://+:80/Reports Carattere jolly complesso sulla porta 80, con directory virtuale Reports.Strong wildcard on port 80, with Reports virtual directory. Riceve sulla porta 80 tutte le richieste che specificano la directory virtuale reports.Receives all requests on port 80 that specify the reports virtual directory. Il portale Webweb portal riceve tutte le richieste a http://<computername > / reports.The portale Webweb portal receives all requests to http://<computername>/reports.
IISIIS http://*:80/ Carattere jolly vulnerabile sulla porta 80.Weak wildcard on port 80. Riceve sulla porta 80 tutte le richieste rimanenti che non vengono ricevute da un'altra applicazione.Receives any remaining requests on port 80 that are not received by another application.

Distribuzioni side-by-Side di SQL Server Reporting Services in IIS 8.0, 8.5Side-by-Side Deployments of SQL Server Reporting Services on IIS 8.0, 8.5

I problemi di interoperabilità tra IIS e Reporting Services si verificano quando i nomi delle directory virtuali dei siti Web di IIS sono identici a quelli utilizzati da Reporting Services.Interoperability issues between IIS and Reporting Services occur when IIS Web sites have virtual directory names that are identical to those used by Reporting Services. Si supponga ad esempio di disporre della configurazione seguente:For example, suppose you have the following configuration:

  • Un sito Web in IIS assegnato alla porta 80 e una directory virtuale denominata "Reports".A Web site in IIS that is assigned to port 80 and a virtual directory named "Reports".

  • Un'istanza del server di report installata nella configurazione predefinita, in cui anche la prenotazione URL specifica la porta 80 e portale Webweb portal applicazione usa "Reports" come nome della directory virtuale.A report server instance installed in the default configuration, where the URL reservation also specifies port 80 and the portale Webweb portal application also uses "Reports" for the virtual directory name.

    Questa configurazione, di una richiesta inviata a http://<nomecomputer >: 80/reports viene ricevuta dal portale Webweb portal.Given this configuration, a request that is sent to http://<computername>:80/reports will be received by the portale Webweb portal. L'applicazione cui si accede tramite la directory virtuale Reports in IIS non riceverà più richieste dopo aver installato l'istanza del server di report.The application that is accessed through the Reports virtual directory in IIS will no longer receive requests after the report server instance is installed.

    Se si eseguono distribuzioni side-by-side di versioni meno recenti e più recenti di Reporting ServicesReporting Services, è possibile che si verifichi il problema di routing descritto in precedenza,If you are running side-by-side deployments of older and newer versions of Reporting ServicesReporting Services, you are likely to encounter the routing problem just described. perché tutte le versioni di Reporting ServicesReporting Services usano "ReportServer" e "Reports" come nomi delle directory virtuali per il server di report e le applicazioni di portale Webweb portal , aumentando la probabilità di rilevare directory virtuali denominate "reports" e "reportserver" in IIS.This is because all versions of Reporting ServicesReporting Services use "ReportServer" and "Reports" as virtual directory names for the report server and the portale Webweb portal applications, increasing the likelihood that you will have a "reports" and "reportserver" virtual directories in IIS.

    Per garantire che tutte le applicazioni ricevano richieste, adottare le linee guida seguenti:To ensure that all applications receive requests, follow these guidelines:

  • Per le installazioni di Reporting Services, utilizzare nomi delle directory virtuali che non siano già utilizzati da un sito Web di IIS sulla stessa porta di Reporting Services.For Reporting Services installations, use virtual directory names that are not already used by an IIS Web site on the same port as Reporting Services. Se si verifica un conflitto, installare Reporting Services in modalità "solo file", utilizzando l'opzione Installa senza configurare l'opzione server dell'Installazione guidata, in modo che sia possibile configurare le directory virtuali al termine dell'installazione.If there is a conflict, install Reporting Services in "files-only" mode (using the Install but do not configure the server option in the Installation Wizard) so that you can configure the virtual directories after Setup is finished. Un'indicazione della configurazione come conflitto è la visualizzazione del messaggio di errore seguente: System.IO.FileLoadException: Il processo non può accedere al file perché è in uso da un altro processo.One indication that your configuration has a conflict is you will see the error message: System.IO.FileLoadException: The process cannot access the file because it is being used by another process. (Eccezione da HRESULT: 0x80070020).(Exception from HRESULT: 0x80070020).

  • Per installazioni da configurare manualmente, adottare le convenzioni di denominazione predefinite negli URL configurati.For installations that you configure manually, adopt the default naming conventions in the URLs that configure. Se si installa SQL Server 2016 Reporting Services (SSRS)SQL Server 2016 Reporting Services (SSRS) come istanza denominata, includere il nome dell'istanza al momento della creazione di una directory virtuale.If you install SQL Server 2016 Reporting Services (SSRS)SQL Server 2016 Reporting Services (SSRS) as a named instance, include the instance name when creating a virtual directory.

Passaggi successiviNext steps

Configurare gli URL di Server di Report Configure Report Server URLs
Configurare un URL Configure a URL
Installare Server di Report di Reporting Services in modalità nativaInstall Reporting Services Native Mode Report Server

Ulteriori domande?More questions? Provare a porre il forum di Reporting ServicesTry asking the Reporting Services forum