Instalar Reporting Services e Internet Information Services en paralelo (modo nativo de SSRS)
Puede instalar y ejecutar SQL Server 2014 Reporting Services (SSRS) e Internet Information Services (IIS) en el mismo equipo. La versión de IIS que utilice determinará los problemas de interoperabilidad que debe tratar.
Se aplica a: Reporting Services modo nativo |
Versión de IIS | Issues | Descripción |
---|---|---|
IIS 6.0, 7.0, 8.0, 8.5 | Las solicitudes destinadas a una aplicación las acepta una aplicación diferente. HTTP.SYS exige reglas de prioridad para las reservas de direcciones URL. Puede que las solicitudes que se envían a aplicaciones con el mismo nombre de directorio virtual y que supervisan de manera conjunta el puerto 80, no alcancen el destino deseado si la reserva de direcciones URL es débil en relación con la reserva de direcciones URL de otra aplicación. |
En determinadas condiciones, un extremo registrado que reemplaza otro extremo de dirección URL en el esquema de reserva de direcciones URL podría recibir solicitudes HTTP pensadas para la otra aplicación. El uso de nombres de directorio virtual únicos para el servicio web del servidor de informes y el Administrador de informes ayuda a evitar este conflicto. En este tema se proporciona información detallada acerca de este escenario. |
Reglas de prioridad para las reservas de direcciones URL
Para poder resolver problemas de interoperabilidad entre IIS y Reporting Services, debe entender las reglas de prioridad de reserva de direcciones URL. Las reglas de prioridad se pueden generalizar en la instrucción siguiente: una reserva de direcciones URL que tiene valores definidos de forma más explícita se encuentra en la primera posición para recibir solicitudes que coinciden con la dirección URL.
Una reserva de direcciones URL que especifica un directorio virtual es más explícita que una que omite un directorio virtual.
Una reserva de direcciones URL que especifica una dirección única (mediante una dirección IP, un nombre de dominio completo, un nombre de equipo de red o un nombre de host) es más explícita que un carácter comodín.
Una reserva de direcciones URL que especifica un carácter comodín fuerte es más explícita que un carácter comodín débil.
Los ejemplos siguientes muestran un intervalo de reservas de direcciones URL, ordenado de más a menos explícito:
Ejemplo | Solicitud |
---|---|
http://123.234.345.456:80/reports | Recibe todas las solicitudes que se envían a http://123.234.345.456/reports o http://< computername>/reports si un servicio de nombres de dominio puede resolver la dirección IP en ese nombre de host. |
http://+:80/reports | Recibe las solicitudes enviadas a cualquier dirección IP o nombre de host válido para dicho equipo siempre que la dirección URL contenga el nombre de directorio virtual "reports". |
http://123.234.345.456:80 | Recibe cualquier solicitud que especifique http://123.234.345.456 o http:// computername<> si un servicio de nombres de dominio puede resolver la dirección IP en ese nombre de host. |
http://+:80 | Recibe solicitudes que aún no se han recibido por otras aplicaciones, para cualquier extremo de aplicación asignado a Todas asignadas. |
http://*:80 | Recibe solicitudes que aún no se han recibido por otras aplicaciones, para cualquier extremo de aplicación asignado a Todas sin asignar. |
Una indicación de que hay un conflicto en el puerto es que verá el siguiente mensaje de error: 'System.IO.FileLoadException: El proceso no puede tener acceso al archivo porque está siendo utilizado en otro proceso. (Excepción de HRESULT: 0x80070020).'.
Reservas de direcciones URL para IIS 6.0, 7.0, 8.0, 8.5 con SQL Server 2014 Reporting Services
Dadas las reglas de prioridad descritas en la sección anterior, puede empezar a entender cómo las reservas de direcciones URL definidas para Reporting Services e IIS promueven la interoperabilidad. Reporting Services recibe las solicitudes que especifican explícitamente los nombres de directorio virtual para sus aplicaciones; IIS recibe todas las solicitudes restantes, que se pueden dirigir a continuación a las aplicaciones que se ejecutan dentro del modelo de proceso de IIS.
Application | Reserva de direcciones URL | Descripción | Confirmación de solicitud |
---|---|---|---|
Servidor de informes | http://+:80/ReportServer | Carácter comodín fuerte en el puerto 80, con directorio virtual del servidor de informes. | Recibe todas las solicitudes del puerto 80 que especifican el directorio virtual del servidor de informes. El servicio web del servidor de informes recibe todas las solicitudes a http:// computername<>/reportserver. |
Administrador de informes | http://+:80/Reports | Carácter comodín fuerte en el puerto 80, con directorio virtual Reports. | Recibe todas las solicitudes del puerto 80 que especifican el directorio virtual de informes. El Administrador de informes recibe todas las solicitudes a http://< computername>/reports. |
IIS | http://*:80/ | Carácter comodín débil en el puerto 80. | Recibe las solicitudes restantes del puerto 80 que no recibe ninguna otra aplicación. |
Implementaciones en paralelo de SQL Server 2014 y SQL Server 2005 Reporting Services en IIS 6.0, 7.0, 8.0, 8.5
Los problemas de interoperabilidad entre IIS y Reporting Services se producen cuando los sitios web de IIS tienen nombres de directorio virtual idénticos a los usados por Reporting Services. Por ejemplo, supongamos que tiene la siguiente configuración:
Un sitio web en IIS asignado al puerto 80 y un directorio virtual denominado "Reports".
Una instancia del servidor de informes de SQL Server 2014 instalada en la configuración predeterminada, donde la reserva de direcciones URL también especifica el puerto 80 y la aplicación administrador de informes también usa "Informes" para el nombre del directorio virtual.
Dada esta configuración, el Administrador de informes recibirá una solicitud que se envía a http://< computername>:80/reports. La aplicación a la que se tiene acceso a través del directorio virtual Informes de IIS dejará de recibir solicitudes después de instalar SQL Server instancia del servidor de informes de 2014.
Si ejecuta implementaciones simultáneas de versiones anteriores y más recientes de Reporting Services, es probable que encuentre el problema de enrutamiento que acabamos de describir. Esto se debe a que todas las versiones de Reporting Services usan "ReportServer" e "Reports" como nombres de directorio virtual para el servidor de informes y las aplicaciones del Administrador de informes, lo que aumenta la probabilidad de que tenga directorios virtuales "reports" y "reportserver" en IIS.
Para asegurarse de que todas las aplicaciones reciben solicitudes, siga estas directrices:
Para las instalaciones de Reporting Services, use nombres de directorios virtuales que no haya usado previamente ningún sitio web de IIS en el mismo puerto que Reporting Services. Si se produce un conflicto, instale Reporting Services en el modo "solo archivos" (mediante la opción "Instalar, pero no configurar el servidor de informes" del Asistente para la instalación), de manera que pueda configurar los directorios virtuales una vez finalizada la instalación. Una indicación de que hay un conflicto en la configuración es que verá el siguiente mensaje de error: System.IO.FileLoadException: El proceso no puede tener acceso al archivo porque está siendo utilizado en otro proceso. (Excepción de HRESULT: 0x80070020).
Para las instalaciones que configure manualmente, adopte las convenciones de nomenclatura predeterminadas en las direcciones URL que configure. Si instala SQL Server 2014 Reporting Services (SSRS) como una instancia con nombre, incluya el nombre de instancia al crear un directorio virtual.
Consulte también
Configurar direcciones URL del servidor de informes (Configuration Manager de SSRS)
Configurar una dirección URL (Administrador de configuración de SSRS)
Instalar el servidor de informes en modo nativo de Reporting Services