Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können SQL Server 2014 Reporting Services (SSRS) und Internetinformationsdienste (IIS) auf demselben Computer installieren und ausführen. Die verwendete IIS-Version bestimmt die Interoperabilitätsprobleme, die Sie beheben müssen.
| Gilt für: Reporting Services im nativen Modus |
| IIS-Version | Probleme | BESCHREIBUNG |
|---|---|---|
| IIS 6.0, 7.0, 8.0, 8.5 | Für eine bestimmte Anwendung vorgesehene Anforderungen werden von einer anderen Anwendung angenommen. HTTP.SYS erzwingt Rangfolgeregeln für URL-Reservierungen. Anforderungen, die an Anwendungen gesendet werden, die den gleichen virtuellen Verzeichnisnamen aufweisen und gemeinsam Port 80 überwachen, erreichen möglicherweise nicht das vorgesehene Ziel, wenn die URL-Reservierung im Vergleich zur URL-Reservierung einer anderen Anwendung schwach ist. |
Unter bestimmten Bedingungen empfängt ein registrierter Endpunkt, der einen anderen URL-Endpunkt im URL-Reservierungsschema außer Kraft setzt, HTTP-Anforderungen für die andere Anwendung. Wenn Sie eindeutige virtuelle Verzeichnisnamen für den Report Server-Webdienst und berichts-Manager verwenden, können Sie diesen Konflikt vermeiden. Ausführliche Informationen zu diesem Szenario finden Sie in diesem Thema. |
Vorrangregeln für URL-Reservierungen
Um die Interoperabilitätsprobleme zwischen IIS und Reporting Services lösen zu können, müssen Sie zunächst die URL-Reservierungsrangfolgeregeln verstehen. Rangfolgeregeln können folgendermaßen beschrieben werden: Je expliziter eine URL-Reservierung definiert ist, umso eher erhält sie die Anforderungen für diese URL.
Eine URL-Reservierung, die ein virtuelles Verzeichnis angibt, ist expliziter als eine URL-Reservierung ohne virtuelles Verzeichnis.
Eine URL-Reservierung, die eine einzige Adresse angibt (mittels einer IP-Adresse, eines vollqualifizierten Domänennamens, eines Computernamens im Netzwerk oder eines Hostnamens) ist expliziter als ein Platzhalter.
Eine URL-Reservierung, die einen starken Platzhalter angibt, ist expliziter als eine URL-Reservierung mit einem schwachen Platzhalter.
In den folgenden Beispielen werden verschiedene URL-Reservierungen gezeigt. Als Erste steht die URL-Reservierung mit der höchsten Explizität, als Letzte die mit der geringsten Explizität:
| Beispiel | Anfrage |
|---|---|
| http://123.234.345.456:80/reports | Empfängt alle Anforderungen, die an http://123.234.345.456/reports oder http://<computername>/Reports gesendet werden, wenn ein Domänennamen-Dienst die IP-Adresse in diesen Hostnamen auflösen kann. |
| http://+:80/reports | Empfängt alle Anforderungen, die an eine IP-Adresse oder einen Hostnamen gesendet werden, die bzw. der gültig für diesen Computer ist, sofern die URL den Namen des virtuellen Verzeichnisses "reports" enthält. |
| http://123.234.345.456:80 | Empfängt jede Anforderung, die http://123.234.345.456 oder http://<computername> angibt, wenn ein DNS-Dienst die IP-Adresse in diesen Hostnamen auflösen kann. |
| http://+:80 | Empfängt Anforderungen, die nicht bereits von anderen Anwendungen empfangen werden, für Anwendungsendpunkte, die auf Alle zugewiesenen gemappt sind. |
| http://*:80 | Empfängt Anforderungen, die noch nicht von anderen Anwendungen empfangen wurden, für Anwendungsendpunkte, die allen nicht zugewiesenen Anwendungen zugeordnet sind. |
Ein Hinweis auf einen Portkonflikt besteht darin, dass die folgende Fehlermeldung angezeigt wird: "System.IO.FileLoadException: Der Prozess kann nicht auf die Datei zugreifen, da er von einem anderen Prozess verwendet wird. (Ausnahme von HRESULT: 0x80070020).
URL Reservations für IIS 6.0, 7.0, 8.0, 8.5 mit SQL Server 2014 Reporting Services
Anhand der im vorherigen Abschnitt beschriebenen Rangfolgeregeln wird deutlich, wie die für Reporting Services und IIS definierten URL-Reservierungen zur Interoperabilität beitragen. Reporting Services empfängt Anforderungen, die die Namen der virtuellen Verzeichnisse seiner Anwendungen explizit angeben; IIS empfängt alle verbleibenden Anforderungen, die dann an Anwendungen umgeleitet werden können, die innerhalb des IIS-Verarbeitungsmodells ausgeführt werden.
| Anwendung | URL-Reservierung | BESCHREIBUNG | Anforderungsempfang |
|---|---|---|---|
| Berichtsserver | http://+:80/ReportServer | Starker Platzhalter an Port 80, mit virtuellem Verzeichnis "ReportServer". | Empfängt alle Anforderungen an Port 80, die das virtuelle Verzeichnis "ReportServer" angeben. Der Report Server-Webdienst empfängt alle Anforderungen an http://<computername>/reportserver. |
| Berichts-Manager | http://+:80/Reports | Starker Platzhalter an Port 80, mit virtuellem Verzeichnis "Reports". | Empfängt alle Anforderungen an Port 80, die das virtuelle Verzeichnis "reports" angeben. Der Berichts-Manager empfängt alle Anforderungen an http://<computername>/reports. |
| IIS | http://*:80/ | Schwacher Platzhalter an Port 80. | Empfängt alle verbleibenden Anforderungen an Port 80, die nicht von einer anderen Anwendung empfangen werden. |
Parallele Bereitstellungen von SQL Server 2014 und SQL Server 2005 Reporting Services unter IIS 6.0, 7.0, 8.0, 8.5
Interoperabilitätsprobleme zwischen IIS und Reporting Services treten auf, wenn IIS-Websites virtuelle Verzeichnisnamen aufweisen, die mit denen identisch sind, die von Reporting Services verwendet werden. Gehen wir beispielsweise von folgender Konfiguration aus:
Eine Website in IIS, die Port 80 und einem virtuellen Verzeichnis mit dem Namen "Reports" zugewiesen ist.
Eine SQL Server 2014-Berichtsserverinstanz, die in der Standardkonfiguration installiert ist, wobei die URL-Reservierung auch Port 80 angibt und die Report Manager-Anwendung auch "Berichte" für den Namen des virtuellen Verzeichnisses verwendet.
Aufgrund dieser Konfiguration wird eine Anforderung, die an http://< computername>:80/reports gesendet wird, vom Berichts-Manager empfangen. Die Anwendung, auf die über das virtuelle Verzeichnis "Berichte" in IIS zugegriffen wird, empfängt keine Anforderungen mehr, nachdem sql Server 2014-Berichtsserverinstanz installiert wurde.
Wenn Sie parallele Bereitstellungen älterer und neuerer Versionen von Reporting Services ausführen, treten wahrscheinlich das soeben beschriebene Routingproblem auf. Dies liegt daran, dass alle Versionen von Reporting Services "ReportServer" und "Reports" als virtuelle Verzeichnisnamen für die Berichtsserver- und Berichts-Manager-Anwendungen verwenden, wodurch die Wahrscheinlichkeit erhöht wird, dass Sie über virtuelle Verzeichnisse "Berichte" und "Reportserver" in IIS verfügen.
Um sicherzustellen, dass alle Anwendungen Anforderungen empfangen, sollten Sie diesen Richtlinien folgen:
Verwenden Sie für Reporting Services-Installationen virtuelle Verzeichnisnamen, die noch nicht von einer IIS-Website am gleichen Port wie Reporting Services verwendet werden. Wenn ein Konflikt auftritt, installieren Sie Reporting Services im Modus "Nur Dateien" (mithilfe der Option "Installieren, aber nicht konfigurieren" im Installations-Assistenten), damit Sie die virtuellen Verzeichnisse nach Abschluss des Setups konfigurieren können. Ein Hinweis darauf, dass Ihre Konfiguration einen Konflikt aufweist, wird die Fehlermeldung angezeigt: System.IO.FileLoadException: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. (Ausnahme von HRESULT: 0x80070020).
Übernehmen Sie für Installationen, die Sie manuell konfigurieren, die Standardnamenskonventionen in den URLs. Wenn Sie SQL Server 2014 Reporting Services (SSRS) als benannte Instanz installieren, schließen Sie den Instanznamen beim Erstellen eines virtuellen Verzeichnisses ein.
Siehe auch
Konfigurieren von Berichtsserver-URLs (SSRS Configuration Manager)
Konfigurieren einer URL (SSRS Configuration Manager)
Installieren des Berichtsservers für den nativen Modus von Reporting Services