Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) Reporting Services en latere versies
Power BI Report Server
Voor inhoud met betrekking tot eerdere versies van SQL Server Reporting Services (SSRS) raadpleegt u Wat is SQL Server Reporting Services?
U kunt SQL Server Reporting Services (SSRS) en Internet Information Services (IIS) op dezelfde computer installeren en uitvoeren. De versie van IIS die u gebruikt, bepaalt de interoperabiliteitsproblemen die u moet oplossen.
| IIS-versie | Issues | Description |
|---|---|---|
| 8.0, 8.5 | Aanvragen die zijn bedoeld voor één toepassing, worden geaccepteerd door een andere toepassing. HTTP.SYS dwingt prioriteitsregels af voor URL-reserveringen. Aanvragen die worden verzonden naar toepassingen met dezelfde naam van de virtuele map en die poort 80 gezamenlijk bewaken, bereiken mogelijk niet het beoogde doel als de URL-reservering zwak is ten opzichte van de URL-reservering van een andere toepassing. |
Onder bepaalde voorwaarden kan een geregistreerd eindpunt dat een ander URL-eindpunt in het URL-reserveringsschema vervangt, HTTP-aanvragen ontvangen die zijn bedoeld voor de andere toepassing. Als u unieke namen van virtuele mappen gebruikt voor de Report Server-webservice en de webportal, kunt u dit conflict voorkomen. Gedetailleerde informatie over dit scenario vindt u in dit artikel. |
Prioriteitsregels voor URL-reserveringen
Voordat u interoperabiliteitsproblemen tussen IIS en Reporting Services kunt oplossen, moet u de prioriteitsregels voor URL-reserveringen begrijpen. Prioriteitsregels kunnen als volgt worden geformuleerd: een URL-reservering met expliciet gedefinieerde waarden krijgt voorrang bij het ontvangen van aanvragen die overeenkomen met de URL.
Een URL-reservering die een virtuele map aangeeft, is explicieter dan een map die een virtuele map weglaat.
Een URL-reservering die één adres aangeeft (via een IP-adres, een volledig gekwalificeerde domeinnaam, een netwerkcomputernaam of een hostnaam) is explicieter dan een jokerteken.
Een URL-reservering die een sterk jokerteken aangeeft, is explicieter dan een zwak jokerteken.
In de volgende voorbeelden ziet u een reeks URL-reserveringen, gesorteerd van meest expliciet naar minst expliciet:
| Example | Aanvraag |
|---|---|
https://123.234.345.456:80/reports |
Ontvangt alle aanvragen die worden verzonden naar https://123.234.345.456/reports of https://<computername>/reports als een domeinnaamservice het IP-adres naar die hostnaam kan omzetten. |
https://+:80/reports |
Ontvangt aanvragen die worden verzonden naar een IP-adres of hostnaam die geldig is voor die computer zolang de URL de naam van de virtuele map 'rapporten' bevat. |
https://123.234.345.456:80 |
Ontvangt een aanvraag die aangeeft https://123.234.345.456 of https://<computername>, indien een DNS-service het IP-adres naar die hostnaam kan oplossen. |
https://+:80 |
Ontvangt aanvragen die nog niet zijn ontvangen door andere toepassingen, voor toepassingseindpunten die zijn toegewezen aan Alle toegewezen. |
https://*:80 |
Ontvangt aanvragen die nog niet zijn ontvangen door andere toepassingen, voor toepassingseindpunten die zijn toegewezen aan Alle niet-toegewezen toepassingen. |
Een indicatie van een poortconflict is dat u het volgende foutbericht ziet: 'System.IO.FileLoadException: Het proces heeft geen toegang tot het bestand omdat het wordt gebruikt door een ander proces. (Uitzondering van HRESULT: 0x80070020).'
URL-reserveringen voor IIS 8.0, 8.5 met SQL Server Reporting Services
Gezien de prioriteitsregels die in de vorige sectie worden beschreven, kunt u begrijpen hoe URL-reserveringen die zijn gedefinieerd voor Reporting Services en IIS de interoperabiliteit bevorderen. Reporting Services ontvangt aanvragen die expliciet de namen van de virtuele mappen voor de toepassingen opgeven; IIS ontvangt alle resterende aanvragen, die vervolgens kunnen worden omgeleid naar toepassingen die worden uitgevoerd binnen het IIS-procesmodel.
| Application | URL-reservering | Description | Ontvangstbevestiging aanvragen |
|---|---|---|---|
| Rapportserver | https://+:80/ReportServer |
Sterk jokerteken op poort 80, met virtuele map van rapportserver. | Ontvangt alle aanvragen op poort 80 die de virtuele map van de rapportserver opgeven. De Report Server-webservice ontvangt alle aanvragen voor https://< computernaam>/rapportserver. |
| Webportal | https://+:80/Reports |
Sterk jokerteken op poort 80, met de virtuele map Rapporten. | Ontvangt alle aanvragen op poort 80 die de virtuele map voor rapporten opgeven. De webportal ontvangt alle aanvragen voor https://< computernaam>/rapporten. |
| IIS | https://*:80/ |
Zwak jokerteken op poort 80. | Ontvangt eventuele resterende aanvragen op poort 80 die niet worden ontvangen door een andere toepassing. |
Naast elkaar implementaties van SQL Server Reporting Services op IIS 8.0, 8.5
Interoperabiliteitsproblemen tussen IIS en Reporting Services treden op wanneer IIS-websites virtuele mapnamen hebben die identiek zijn aan namen die door Reporting Services worden gebruikt. Stel dat u de volgende configuratie hebt:
Een website in IIS die is toegewezen aan poort 80 en een virtuele map met de naam 'Rapporten'.
Een rapportserverexemplaar dat is geïnstalleerd in de standaardconfiguratie, waarbij de URL-reservering ook poort 80 bepaalt en de webportalapplicatie ook 'Rapporten' gebruikt voor de naam van de virtuele directory.
Gezien deze configuratie wordt een verzoek dat naar https://\<computername>:80/reports wordt verzonden, door de webportal ontvangen. De toepassing die wordt geopend via de virtuele map Rapporten in IIS, ontvangt geen aanvragen meer nadat het exemplaar van de rapportserver is geïnstalleerd.
Als u naast elkaar implementaties van oudere en nieuwere versies van Reporting Services uitvoert, ondervindt u waarschijnlijk dit routeringsprobleem. U ziet dit probleem omdat alle versies van Reporting Services gebruikmaken van 'ReportServer' en 'Rapporten' als namen van virtuele mappen voor de rapportserver en de webportaltoepassingen, waardoor de kans toeneemt dat u een virtuele mappen 'rapporten' en 'reportserver' in IIS hebt.
Volg deze richtlijnen om ervoor te zorgen dat alle toepassingen aanvragen ontvangen:
Voor Reporting Services-installaties gebruikt u namen van virtuele mappen die nog niet worden gebruikt door een IIS-website op dezelfde poort als Reporting Services. Als er een conflict is, installeert u Reporting Services in de modus Alleen bestanden (met behulp van de installatie, maar configureert u de serveroptie niet in de installatiewizard), zodat u de virtuele mappen kunt configureren nadat setup is voltooid. Een indicatie dat uw configuratie een conflict heeft, is dat u het foutbericht ziet: System.IO.FileLoadException: het proces heeft geen toegang tot het bestand omdat het wordt gebruikt door een ander proces. (Uitzondering van HRESULT: 0x80070020).
Voor installaties die u handmatig configureert, gebruikt u de standaardnaamconventies in de URL's die worden geconfigureerd. Als u SQL Server 2016 (13.x) Reporting Services of hoger (SSRS) installeert als een benoemd exemplaar, neemt u de naam van het exemplaar op wanneer u een virtuele map maakt.