다음을 통해 공유


Reporting Services 및 인터넷 정보 서비스 병렬 설치(SSRS 기본 모드)

동일한 컴퓨터에 SQL Server 2014 Reporting Services(SSRS) 및 IIS(인터넷 정보 서비스)를 설치하고 실행할 수 있습니다. 사용 중인 IIS 버전은 해결해야 하는 상호 운용성 문제를 결정합니다.

적용 대상: Reporting Services 기본 모드
IIS 버전 문제 설명
IIS 6.0, 7.0, 8.0, 8.5 한 애플리케이션에 대한 요청은 다른 애플리케이션에서 수락됩니다.

HTTP.SYS URL 예약에 우선 순위 규칙을 적용합니다. 동일한 가상 디렉터리 이름이 있고 포트 80을 공동으로 모니터링하는 애플리케이션으로 전송되는 요청은 URL 예약이 다른 애플리케이션의 URL 예약을 기준으로 약한 경우 의도한 대상에 도달하지 못할 수 있습니다.
특정 조건에서 URL 예약 체계에서 다른 URL 엔드포인트를 대체하는 등록된 엔드포인트는 다른 애플리케이션에 대한 HTTP 요청을 받을 수 있습니다.

보고서 서버 웹 서비스 및 보고서 관리자에 고유한 가상 디렉터리 이름을 사용하면 이 충돌을 방지할 수 있습니다.

이 시나리오에 대한 자세한 내용은 이 항목에서 제공합니다.

URL 예약에 대한 우선 순위 규칙

IIS와 Reporting Services 간의 상호 운용성 문제를 해결하려면 먼저 URL 예약 우선 순위 규칙을 이해해야 합니다. 우선 순위 규칙은 다음 문으로 일반화할 수 있습니다. 더 명시적으로 정의된 값이 있는 URL 예약은 URL과 일치하는 요청을 수신하기 위해 먼저 줄에 있습니다.

  • 가상 디렉터리를 지정하는 URL 예약은 가상 디렉터리를 생략하는 URL 예약보다 더 명시적입니다.

  • IP 주소, 정규화된 도메인 이름, 네트워크 컴퓨터 이름 또는 호스트 이름을 통해 단일 주소를 지정하는 URL 예약은 와일드카드보다 더 명시적입니다.

  • 강력한 와일드카드를 지정하는 URL 예약은 약한 와일드카드보다 더 명시적입니다.

다음 예제에서는 가장 명시적에서 최소 명시적 순서로 정렬된 URL 예약 범위를 보여 줍니다.

예시 요청
http://123.234.345.456:80/reports 도메인 이름 서비스가 해당 호스트 이름에 대한 IP 주소를 확인할 수 있는 경우 http://123.234.345.456/reports 또는 http://<computername>/reports로 전송되는 모든 요청을 수신합니다.
http://+:80/reports URL에 "reports" 가상 디렉터리 이름이 포함되어 있는 한 해당 컴퓨터에 유효한 IP 주소 또는 호스트 이름으로 전송되는 모든 요청을 수신합니다.
http://123.234.345.456:80 도메인 이름 서비스가 해당 호스트 이름에 대한 IP 주소를 확인할 수 있는 경우, http://123.234.345.456 또는 http://<computername>을 지정한 요청을 받습니다.
http://+:80 All Assigned에 매핑된 애플리케이션 엔드포인트에 대해 다른 애플리케이션에서 아직 수신하지 않은 요청을 수신합니다.
http://*:80 할당되지 않은 모든 애플리케이션에 매핑된 애플리케이션 엔드포인트에 대해 다른 애플리케이션에서 아직 수신하지 않은 요청을 수신합니다.

포트 충돌의 한 가지 징후는 'System.IO.FileLoadException: 다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스할 수 없다는 오류 메시지가 표시됩니다. (HRESULT에서 예외: 0x80070020).'

IIS 6.0, 7.0, 8.0, 8.5에서 SQL Server 2014 Reporting Services와 함께 사용하는 URL 예약

이전 섹션에서 설명한 우선 순위 규칙을 고려할 때 Reporting Services 및 IIS에 대해 정의된 URL 예약이 상호 운용성을 촉진하는 방법을 이해할 수 있습니다. Reporting Services는 애플리케이션에 대한 가상 디렉터리 이름을 명시적으로 지정하는 요청을 받습니다. IIS는 나머지 모든 요청을 수신한 다음 IIS 프로세스 모델 내에서 실행되는 애플리케이션으로 보낼 수 있습니다.

신청 URL 예약 설명 요청 확인
보고서 서버 http://+:80/ReportServer 보고서 서버 가상 디렉터리가 있는 포트 80의 강력한 와일드카드입니다. 보고서 서버 가상 디렉터리를 지정하는 포트 80의 모든 요청을 수신합니다. 보고서 서버 웹 서비스는 http://< computername>/reportserver에 대한 모든 요청을 받습니다.
보고서 관리자 http://+:80/Reports 보고서 가상 디렉터리가 있는 포트 80의 강력한 와일드카드입니다. 보고서 가상 디렉터리를 지정하는 포트 80의 모든 요청을 수신합니다. 보고서 관리자는 http://< computername>/reports에 대한 모든 요청을 받습니다.
IIS http://*:80/ 포트 80의 약한 와일드카드입니다. 다른 애플리케이션에서 받지 못한 포트 80의 나머지 요청을 수신합니다.

IIS 6.0, 7.0, 8.0, 8.5에서 SQL Server 2014 및 SQL Server 2005 Reporting Services의 병렬 배포

IIS 웹 사이트에 Reporting Services에서 사용하는 것과 동일한 가상 디렉터리 이름이 있는 경우 IIS와 Reporting Services 간의 상호 운용성 문제가 발생합니다. 예를 들어 다음과 같은 구성이 있다고 가정합니다.

  • 포트 80에 할당된 IIS의 웹 사이트 및 "보고서"라는 가상 디렉터리입니다.

  • 기본 구성에 설치된 SQL Server 2014 보고서 서버 인스턴스입니다. 여기서 URL 예약은 포트 80도 지정하고 보고서 관리자 애플리케이션은 가상 디렉터리 이름에도 "보고서"를 사용합니다.

이 구성을 사용하면 보고서 관리자가 http://< computername>:80/reports로 전송되는 요청을 받습니다. IIS의 보고서 가상 디렉터리를 통해 액세스하는 애플리케이션은 SQL Server 2014 보고서 서버 인스턴스가 설치된 후 더 이상 요청을 받지 않습니다.

이전 및 최신 버전의 Reporting Services의 병렬 배포를 실행하는 경우 방금 설명한 라우팅 문제가 발생할 수 있습니다. 이는 모든 버전의 Reporting Services가 보고서 서버 및 보고서 관리자 애플리케이션의 가상 디렉터리 이름으로 "ReportServer" 및 "Reports"를 사용하므로 IIS에 "보고서" 및 "reportserver" 가상 디렉터리가 있을 가능성이 높기 때문입니다.

모든 애플리케이션이 요청을 받도록 하려면 다음 지침을 따르세요.

  • Reporting Services 설치의 경우 Reporting Services와 동일한 포트에서 IIS 웹 사이트에서 아직 사용하지 않는 가상 디렉터리 이름을 사용합니다. 충돌이 있는 경우 설치가 완료된 후 가상 디렉터리를 구성할 수 있도록 "파일 전용" 모드(설치를 사용하지만 설치 마법사에서 서버 옵션을 구성하지 않음)로 Reporting Services를 설치합니다. 구성에 충돌이 있음을 나타내는 한 가지 오류 메시지가 표시됩니다. System.IO.FileLoadException: 다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스할 수 없습니다. (HRESULT에서 예외: 0x80070020).

  • 수동으로 구성하는 설치의 경우 구성하는 URL에서 기본 명명 규칙을 채택합니다. SQL Server 2014 Reporting Services(SSRS)를 명명된 인스턴스로 설치하는 경우 가상 디렉터리를 만들 때 인스턴스 이름을 포함합니다.

또한 참조하십시오

보고서 서버 URL 구성(SSRS 구성 관리자)
URL 구성(SSRS 구성 관리자)
Reporting Services 기본 모드 보고서 서버 설치