Freigeben über


Gleichzeitiges Installieren von Reporting Services und Internetinformationsdiensten

Sie können SQL Server 2012 Reporting Services (SSRS) und Internetinformationsdienste (IIS) auf dem gleichen Computer installieren und ausführen. Je nach IIS-Version treten bestimmte Interoperabilitätsprobleme auf.

IIS-Version

Probleme

Beschreibung

IIS 6.0 und 7.0

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.

Durch die Verwendung eindeutiger Namen für die virtuellen Verzeichnisse des Report Server-Webdiensts und des Berichts-Managers kann dieser Konflikt vermieden werden.

Detaillierte Informationen über dieses Szenario sind in diesem Thema enthalten.

Rangfolgeregeln 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

Anforderung

http://123.234.345.456:80/reports

Empfängt alle Anforderungen, die an http://123.234.345.456/reports oder http://<computername>/reports gesendet wurden, wenn ein Domain Name Service 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 alle Anforderungen, die http://123.234.345.456 oder http://<computername> angeben, wenn ein Domain Name Service die IP-Adresse in diesen Hostnamen auflösen kann.

http://+:80

Empfängt für alle Anwendungsendpunkte, die Alle zugewiesenen zugeordnet sind, Anforderungen, die nicht bereits von anderen Anwendungen empfangen wurden.

http://*:80

Empfängt für alle Anwendungsendpunkte, die Alle nicht zugewiesenen zugeordnet sind, Anforderungen, die nicht bereits von anderen Anwendungen empfangen wurden.

Ein Zeichen für einen Portkonflikt ist die folgende Fehlermeldung: 'System.IO.FileLoadException: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. (Ausnahme von HRESULT: 0x80070020).

URL-Reservierungen für IIS 6.0 und 7.0 und SQL Server 2012 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. Berichts-Manager empfängt alle Anforderungen an http://<computername>/reports.

IIS

http://*:80/

Schwacher Platzhalter an Port 80.

Empfängt an Port 80 alle verbleibenden Anforderungen, die nicht von einer anderen Anwendung empfangen wurden.

Parallele Bereitstellungen von SQL Server 2012 und SQL Server 2005 Reporting Services auf IIS 6.0 oder 7.0

Interoperabilitätsprobleme zwischen IIS und Reporting Services treten auf, wenn IIS-Websites und Reporting Services identische Namen virtueller Verzeichnisse aufweisen. 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 in der Standardkonfiguration installierte SQL Server 2012-Berichtsserverinstanz, bei der die URL-Reservierung auch Port 80 angibt und der Berichts-Manager auch "Reports" als Namen des virtuellen Verzeichnisses verwendet.

Bei dieser Konfiguration wird eine an http://<computername>:80/reports gesendete Anforderung vom Berichts-Manager empfangen. Die Anwendung, auf die über das virtuelle Verzeichnis "Reports" in IIS zugegriffen wird, empfängt keine Anforderungen mehr nach der Installation der SQL Server 2012-Berichtsserverinstanz.

Wenn Sie die Bereitstellungen älterer und neuerer Versionen von Reporting Services gleichzeitig ausführen, tritt unter Umständen das gerade beschriebene Routingproblem auf. Dies liegt daran, dass alle Reporting Services-Versionen "ReportServer" und "Reports" als Namen der virtuellen Verzeichnisse für den Berichtsserver und den Berichts-Manager verwenden und damit die Wahrscheinlichkeit erhöht wird, dass in IIS die virtuellen Verzeichnisse "reports" und "reportserver" vorhanden sind.

Um sicherzustellen, dass alle Anwendungen Anforderungen empfangen, sollten Sie diesen Richtlinien folgen:

  • In Reporting Services-Installationen sollten Sie Namen für virtuelle Verzeichnisse angeben, die nicht bereits von einer IIS-Website an dem Port verwendet werden, den auch Reporting Services verwendet. Wenn ein Konflikt auftritt, müssen Sie Reporting Services im Dateimodus installieren (über die Option Server installieren, jedoch nicht konfigurieren im Installations-Assistenten), sodass Sie die virtuellen Verzeichnisse nach dem Setup konfigurieren können. Ein Zeichen für einen Konflikt in Ihrer Konfiguration ist die folgende Fehlermeldung: '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 2012 Reporting Services (SSRS) als benannte Instanz installieren, müssen Sie den Instanzname beim Erstellen eines virtuellen Verzeichnisses angeben.

Siehe auch

Aufgaben

Konfigurieren einer URL

Konzepte

Konfigurieren von Berichtsserver-URLs

Installieren des Reporting Services-Berichtsservers (SSRS) im einheitlichen Modus