Instalar o Reporting Services e os Serviços de Informações da Internet lado a lado (Modo Nativo do SSRS)
Você pode instalar e executar SQL Server SSRS (Reporting Services 2014) e serviços de informações da Internet (IIS) no mesmo computador. A versão do IIS utilizada determina os problemas de interoperabilidade a serem resolvidos.
Aplica-se a: Reporting Services modo Nativo |
Versão do IIS | Problemas | Descrição |
---|---|---|
IIS 6.0, 7.0, 8.0, 8.5 | As solicitações dirigidas a um aplicativo são aceitas por um aplicativo diferente. O HTTP.SYS impõe as regras de precedência a reservas de URL. As solicitações enviadas a aplicativos com o mesmo nome de diretório virtual e que, ao mesmo tempo, monitoram a porta 80 podem não alcançar o destino pretendido se a reserva de URL for fraca, em relação à reserva de URL de outro aplicativo. |
Em determinadas condições, um ponto de extremidade registrado que substitui outro ponto de extremidade de URL no esquema de reserva de URL pode receber solicitações HTTP destinadas a outro aplicativo. Se você usar nomes do diretório virtual exclusivos para o serviço Web Servidor de Relatórios e o Gerenciador de Relatórios, esse conflito será evitado. Informações detalhadas sobre esse cenário são fornecidas neste tópico. |
Regras de precedência para reservas de URL
Para tratar de problemas de interoperabilidade entre o IIS e o Reporting Services, é preciso entender as regras de precedência de reserva de URL. As regras de precedência podem ser generalizadas na seguinte instrução: uma reserva de URL tem valores definidos mais explicitamente é a primeira a receber solicitações que correspondam à URL.
Uma reserva de URL que especifica um diretório virtual é mais explícita que uma que omite um diretório virtual.
Uma reserva de URL que especifica um único endereço (por meio de um endereço IP, um nome de domínio totalmente qualificado, um nome de computador de rede ou um nome do host) é mais explícita que um curinga.
Uma reserva de URL que especifica um curinga forte é mais explícita que um curinga fraco.
Os seguintes exemplos mostram um intervalo de reservas de URL, ordenado do mais explícito ao menos explícito:
Exemplo | Solicitação |
---|---|
http://123.234.345.456:80/reports | Recebe todas as solicitações enviadas para http://123.234.345.456/reports ou http://< computername>/reports se um serviço de nome de domínio puder resolve o endereço IP para esse nome de host. |
http://+:80/reports | Recebe todas as solicitações enviadas a qualquer endereço IP ou nome do host válido para esse computador desde que a URL contenha o nome do diretório virtual “reports”. |
http://123.234.345.456:80 | Recebe qualquer solicitação que especifique http://123.234.345.456 ou http://< computername> se um serviço de nome de domínio puder resolve o endereço IP para esse nome de host. |
http://+:80 | Recebe solicitações que ainda não foram recebidas por outros aplicativos, para todos os pontos de extremidade do aplicativo mapeado como Todos Atribuídos. |
http://*:80 | Recebe solicitações que ainda não foram recebidas por outros aplicativos, para todos os pontos de extremidade do aplicativo mapeado como Todos Não Atribuídos. |
Uma indicação de um conflito de porta é que você verá a seguinte mensagem de erro: 'System.IO.FileLoadException: O processo não pode acessar o arquivo porque está sendo usado por outro processo. (Exceção de HRESULT: 0x80070020).'
Reservas de URL para IIS 6.0, 7.0, 8.0, 8.5 com SQL Server 2014 Reporting Services
Dadas as regras de precedência na seção anterior, você pode começar a compreender como as reservas de URL definidas para o Reporting Services e o ISS promovem a interoperabilidade. O Reporting Services recebe solicitações que especificam explicitamente os nomes de diretório virtuais para seus aplicativos; o IIS recebe todas as solicitações restantes, que podem ser direcionadas a aplicativos executados no modelo de processo do IIS.
Aplicativo | Reserva de URL | Descrição | Recebimento de solicitação |
---|---|---|---|
Servidor de relatório | http://+:80/ReportServer | Curinga forte na porta 80, com diretório virtual de servidor de relatório. | Recebe todas as solicitações na porta 80 que especificam o diretório virtual de servidor de relatório. O serviço Web servidor de relatório recebe todas as solicitações para http://< computername>/reportserver. |
Gerenciador de Relatórios | http://+:80/Reports | Curinga forte na porta 80, com o diretório virtual Reports. | Recebe todas as solicitações na porta 80 que especificam o diretório virtual de relatórios. O Gerenciador de Relatórios recebe todas as solicitações para http://< computername>/relatórios. |
IIS | http://*:80/ | Curinga fraco na porta 80. | Recebe todas as solicitações restantes na porta 80 não recebidas por outro aplicativo. |
Implantações lado a lado do SQL Server 2014 e SQL Server 2005 Reporting Services no IIS 6.0, 7.0, 8.0, 8.5
Os problemas de interoperabilidade entre o ISS e o Reporting Services ocorrem quando sites do IIS têm nomes de diretório virtual idênticos aos usados pelo Reporting Services. Por exemplo, suponha que você tenha a seguinte configuração:
Um site no IIS atribuído à porta 80 e um diretório virtual chamado "Reports".
Uma instância do servidor de relatório SQL Server 2014 instalada na configuração padrão, em que a reserva de URL também especifica a porta 80 e o aplicativo Gerenciador de Relatórios também usa "Relatórios" para o nome do diretório virtual.
Dada essa configuração, uma solicitação enviada para http://< computername>:80/reports será recebida pelo Gerenciador de Relatórios. O aplicativo acessado por meio do diretório virtual Relatórios no IIS não receberá mais solicitações depois que SQL Server instância do servidor de relatório de 2014 for instalada.
Se você estiver executando implantações lado a lado de versões mais antigas e mais recentes do Reporting Services, provavelmente enfrentará o problema de roteamento descrito. Isso ocorre porque todas as versões do Reporting Services usam "ReportServer" e "Reports" como nomes de diretório virtual para o servidor de relatório e aplicativos do Gerenciador de Relatórios, aumentando a probabilidade de você ter um diretório virtual "reports" e "reportserver" no IIS.
Para garantir que todos os aplicativos recebam solicitações, siga estas diretrizes:
Para instalações do Reporting Services, use nomes de diretório virtual ainda não utilizados por um site do IIS na mesma porta que o Reporting Services. Se houver conflito, instale o Reporting Services no modo “somente arquivos” (usando a instalação, mas não configurando a opção do servidor no Assistente de Instalação), para que você possa configurar os diretórios virtuais depois que a instalação for concluída. Uma indicação de que a sua configuração possui um conflito de porta é que você verá a seguinte mensagem de erro: System.IO.FileLoadException: O processo não pode acessar o arquivo porque está sendo usado por outro processo. (Exceção de HRESULT: 0x80070020).
Para instalações configuradas manualmente, adote as convenções de nomenclatura padrão nas URLs configuradas. Se você instalar o SQL Server 2014 Reporting Services (SSRS) como uma instância nomeada, inclua o nome da instância ao criar um diretório virtual.
Consulte Também
Configurar URLs do Servidor de Relatório (SSRS Configuration Manager)
Configurar um URL (Gerenciador de configurações SSRS)
Instalar o servidor de relatórios de modo nativo do Reporting Services