이 항목에는 SQL Server 2014에서 AG(Always On 가용성 그룹)와 작동하도록 Reporting Services를 구성하는 방법에 대한 정보가 포함되어 있습니다. Reporting Services 및 Always On 가용성 그룹을 사용하는 세 가지 시나리오는 보고서 데이터 원본, 보고서 서버 데이터베이스 및 보고서 디자인용 데이터베이스입니다. 지원되는 기능과 필요한 구성은 세 가지 시나리오에 따라 다릅니다.
Reporting Services 데이터 원본에서 Always On 가용성 그룹을 사용할 경우의 주요 이점은 읽기 가능한 보조 복제본을 보고 데이터 원본으로 활용함과 동시에 주 데이터베이스에 대한 장애 조치를 제공하는 것입니다.
Always On 가용성 그룹에 대한 일반적인 내용은 SQL Server 2012에 대한 AlwaysOn FAQ를 참조하세요(https://msdn.microsoft.com/sqlserver/gg508768)
Reporting Services 및 AlwaysOn 가용성 그룹을 사용하기 위한 요구 사항
SQL Server 2014 Reporting Services에서 Always On 가용성 그룹을 사용하려면 .Net 3.5 SP1용 핫픽스를 다운로드하여 설치해야 합니다. 핫픽스는 AG 기능에 대한 SQL 클라이언트 지원 및 ApplicationIntent 및 MultiSubnetFailover 연결 문자열 속성 지원을 추가합니다. 보고서 서버를 호스트하는 각 컴퓨터에 핫픽스가 설치되어 있지 않으면 보고서를 미리 보려는 사용자에게 다음과 유사한 오류 메시지가 표시되고 오류 메시지가 보고서 서버 추적 로그에 기록됩니다.
오류 메시지: "키워드가 지원되지 않는 'applicationintent'"
이 메시지는 Reporting Services 연결 문자열에 Always On 가용성 그룹 속성 중 하나를 포함하지만 서버에서 속성을 인식하지 못하는 경우에 발생합니다. Reporting Services 사용자 인터페이스에서 '연결 테스트' 단추를 클릭하고 보고서 서버에서 원격 오류가 설정된 경우 보고서를 미리 볼 때 기록된 오류 메시지가 표시됩니다.
필요한 핫픽스에 대한 자세한 내용은 KB 2654347A 핫픽스에서 SQL Server 2012부터 .NET Framework 3.5 SP1까지 AlwaysOn 기능에 대한 지원을 소개합니다.
다른 Always On 가용성 그룹 요구 사항에 대한 자세한 내용은 AlwaysOn 가용성 그룹(SQL Server)에 대한 필수 구성 요소, 제한 사항 및 권장 사항을 참조하세요.
비고
RSreportserver.config 같은 Reporting Services 구성 파일은 Always On 가용성 그룹 기능의 일부로 지원되지 않습니다. 보고서 서버 중 하나에서 구성 파일을 수동으로 변경하는 경우 복제본을 수동으로 업데이트해야 합니다.
보고서 데이터 원본 및 가용성 그룹
Always On 가용성 그룹을 기반으로 하는 Reporting Services 데이터 원본의 동작은 관리자가 AG 환경을 구성한 방법에 따라 달라질 수 있습니다.
보고서 데이터 원본에 Always On 가용성 그룹을 활용하려면 보고서 데이터 원본 연결 문자열을 구성해야 합니다. 가용성 그룹 수신기 DNS 이름을 사용하는 것입니다. 지원되는 데이터 원본은 다음과 같습니다.
SQL Native Client를 사용하는 ODBC 데이터 원본입니다.
.Net 핫픽스가 보고서 서버에 적용된 SQL 클라이언트입니다.
연결 문자열에는 읽기 전용 보고에 보조 복제본을 사용하도록 보고서 쿼리 요청을 구성하는 새 AlwaysOn 연결 속성도 포함될 수 있습니다. 요청을 보고하기 위해 보조 복제본을 사용하면 읽기/쓰기 주 복제본의 부하가 줄어듭니다. 다음 그림은 Reporting Services 데이터 원본 연결 문자열이 ApplicationIntent=ReadOnly로 구성된 세 개의 복제본 AG 구성의 예입니다. 이 예제에서 보고서 쿼리 요청은 주 복제본이 아닌 보조 복제본으로 전송됩니다.
다음은 연결 문자열의 예입니다. 여기서 [AvailabilityGroupListenerName]은 복제본을 만들 때 구성된 수신기 DNS 이름 입니다.
Data Source=[AvailabilityGroupListenerName];Initial Catalog = AdventureWorks2008R2; ApplicationIntent=ReadOnly
Reporting Services 사용자 인터페이스의 연결 테스트 단추는 연결을 설정할 수 있는지 유효성을 검사하지만 AG 구성의 유효성을 검사하지는 않습니다. 예를 들어 AG에 속하지 않은 서버에 대한 연결 문자열에 ApplicationIntent를 포함하는 경우 추가 매개 변수는 무시되고 연결 테스트 단추는 지정된 서버에 대한 연결만 설정할 수 있는지 확인합니다.
보고서를 만들고 게시하는 방법에 따라 연결 문자열을 편집하는 위치가 결정됩니다.
기본 모드: 기본 모드 보고서 서버에 이미 게시된 공유 데이터 원본 및 보고서에 보고서 관리자를 사용합니다.
SharePoint 모드: SharePoint 서버에 이미 게시된 보고서에는 문서 라이브러리 내의 SharePoint 구성 페이지를 사용합니다.
보고서 디자인: 새 보고서를 만들 때 SQL Server 2012용 SQL Server 보고서 작성기 또는 SSDT(SQL Server Data Tools). 이 항목의 '보고서 디자인' 섹션 또는 자세한 내용을 참조하세요.
추가 리소스:
사용 가능한 연결 문자열 속성에 대한 자세한 내용은 SQL Server Native Client에서 연결 문자열 키워드 사용을 참조하세요.
가용성 그룹 수신기에 대한 자세한 내용은 가용성 그룹 수신기 만들기 또는 구성(SQL Server)을 참조하세요.
고려 사항: 보조 복제본은 일반적으로 주 복제본에서 데이터 변경 내용을 수신하는 데 지연이 발생합니다. 다음 요소는 주 복제본과 보조 복제본 간의 업데이트 대기 시간에 영향을 줄 수 있습니다.
보조 복제본의 수입니다. 구성에 추가된 각 보조 복제본에 따라 지연이 증가합니다.
주 복제본과 보조 복제본 간의 지리적 위치 및 거리입니다. 예를 들어 보조 복제본이 주 복제본과 동일한 건물에 있는 경우와 다른 데이터 센터에 있는 경우 일반적으로 지연이 더 큽니다.
각 복제본에 대한 가용성 모드 구성 가용성 모드는 보조 복제본이 디스크에 트랜잭션을 기록할 때까지 주 복제본이 데이터베이스에서 트랜잭션을 커밋하기 위해 대기하는지 여부를 결정합니다. 자세한 내용은 AlwaysOn 가용성 그룹 개요(SQL Server)의 '가용성 모드' 섹션을 참조하세요.
읽기 전용 보조 데이터베이스를 Reporting Services 데이터 원본으로 사용하는 경우 데이터 업데이트 대기 시간이 보고서 사용자의 요구를 충족하는지 확인해야 합니다.
보고서 디자인 및 가용성 그룹
SQL Server 2012용 SQL Server 보고서 작성기 또는 SSDT(SQL Server Data Tools)의 보고서 프로젝트에서 보고서를 디자인할 때 사용자는 Always On 가용성 그룹에서 제공하는 새 연결 속성을 포함하도록 보고서 데이터 원본 연결 문자열을 구성할 수 있습니다. 새 연결 속성에 대한 지원은 사용자가 보고서를 미리 보는 위치에 따라 달라집니다.
로컬 미리 보기: SQL Server 2012 및 SSDT(SQL Server Data Tools)용 SQL Server 보고서 작성기에서는 .Net framework 4.0을 사용하고 Always On 가용성 그룹 연결 문자열 속성을 지원합니다.
원격 또는 서버 모드 미리 보기: 보고서 서버에 보고서를 게시하거나 SQL Server 2012용 SQL Server 보고서 작성기에서 미리 보기를 사용한 후 다음과 유사한 오류가 표시되면 보고서 서버에 대해 보고서를 미리 보고 있다는 표시이며 Always On 가용성 그룹의 .Net Framework 3.5 SP1 핫픽스가 보고서 서버에 설치되지 않았습니다.
오류 메시지: "키워드가 지원되지 않는 'applicationintent'"
보고서 서버 데이터베이스 및 가용성 그룹
Reporting Services는 보고서 서버 데이터베이스와 함께 Always On 가용성 그룹을 사용하기 위한 제한된 지원을 제공합니다. 보고서 서버 데이터베이스는 AG에서 복제본의 일부로 구성할 수 있습니다. 그러나 Reporting Services는 장애 조치(failover)가 발생할 때 보고서 서버 데이터베이스에 대해 다른 복제본을 자동으로 사용하지 않습니다.
수동 작업 또는 사용자 지정 자동화 스크립트를 사용하여 장애 조치 및 복구를 완료해야 합니다. 이러한 작업이 완료될 때까지 Always On 가용성 그룹 장애 조치(failover) 후 보고서 서버의 일부 기능이 제대로 작동하지 않을 수 있습니다.
비고
보고서 서버 데이터베이스에 대한 장애 조치(failover) 및 재해 복구를 계획할 때는 항상 보고서 서버 암호화 키의 복사본을 백업하는 것이 좋습니다.
SharePoint 기본 모드의 차이점
이 섹션에서는 SharePoint 모드와 기본 모드 보고서 서버가 Always On 가용성 그룹과 상호 작용하는 방식의 차이점을 요약합니다.
SharePoint 보고서 서버는 사용자가 만든 각 Reporting Services 서비스 애플리케이션에 대해 3 개의 데이터베이스를 만듭니다. SharePoint 모드의 보고서 서버 데이터베이스에 대한 연결은 서비스 애플리케이션을 만들 때 SharePoint 중앙 관리에서 구성됩니다. 데이터베이스의 기본 이름에는 서비스 애플리케이션과 연결된 GUID가 포함됩니다. 다음은 SharePoint 모드 보고서 서버의 데이터베이스 이름 예제입니다.
ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6
ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6TempDB
ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6_Alerting
기본 모드 보고서 서버는 2 개의 데이터베이스를 사용합니다. 다음은 기본 모드 보고서 서버의 데이터베이스 이름 예제입니다.
리포트 서버
ReportServerTempDB
기본 모드는 경고 데이터베이스 및 관련 기능을 지원하거나 사용하지 않습니다. Reporting Services 구성 관리자에서 기본 모드 보고서 서버를 구성합니다. SharePoint 모드의 경우 서비스 응용 프로그램 데이터베이스 이름을 SharePoint 구성의 일부로 만든 "클라이언트 액세스 지점"의 이름으로 구성합니다. Always On 가용성 그룹을 사용하여 SharePoint를 구성하는 방법에 대한 자세한 내용은 SharePoint Serverhttps://go.microsoft.com/fwlink/?LinkId=245165)에 대한 SQL Server 가용성 그룹 구성 및 관리를 참조하세요.
비고
SharePoint 모드 보고서 서버는 Reporting Services 서비스 애플리케이션 데이터베이스와 SharePoint 콘텐츠 데이터베이스 간의 동기화 프로세스를 사용합니다. 보고서 서버 데이터베이스와 콘텐츠 데이터베이스를 함께 유지하는 것이 중요합니다. 동일한 가용성 그룹에서 구성하여 장애 조치(failover)하고 집합으로 복구하는 것이 좋습니다. 다음 시나리오를 고려하세요.
- 다음 중 하나를 수행합니다: 보고서 서버 데이터베이스가 받은 것과 동일한 최근 업데이트를 받지 못한 콘텐츠 데이터베이스의 복사본으로 복원하거나, 장애 조치(페일오버)합니다.
- Reporting Services 동기화 프로세스는 콘텐츠 데이터베이스의 항목 목록과 보고서 서버 데이터베이스 간의 차이를 검색합니다.
- 동기화 프로세스는 콘텐츠 데이터베이스의 항목을 삭제하거나 업데이트합니다.
가용성 그룹에 대한 보고서 서버 데이터베이스 준비
다음은 Always On 가용성 그룹에 보고서 서버 데이터베이스를 준비하고 추가하는 기본 단계입니다.
가용성 그룹을 만들고 수신기 DNS 이름을 구성합니다.
주 복제본: 보고서 서버 데이터베이스를 단일 가용성 그룹의 일부로 구성하고 모든 보고서 서버 데이터베이스를 포함하는 주 복제본을 만듭니다.
보조 복제본: 하나 이상의 보조 복제본을 만듭니다. 주 복제본에서 보조 복제본으로 데이터베이스를 복사하는 일반적인 방법은 'RESTORE WITH NORECOVERY'를 사용하여 데이터베이스를 각 보조 복제본으로 복원하는 것입니다. 보조 복제본을 만들고 데이터 동기화가 작동하는지 확인하는 방법에 대한 자세한 내용은 AlwaysOn 보조 데이터베이스(SQL Server)에서 데이터 이동 시작을 참조하세요.
보고서 서버 자격 증명: 주 복제본에서 만든 보조 복제본에 적절한 보고서 서버 자격 증명을 만들어야 합니다. 정확한 단계는 Reporting Services 환경에서 사용하는 인증 유형에 따라 달라집니다. Window Reporting Services 서비스 계정, Windows 사용자 계정 또는 SQL Server 인증 자세한 내용은 보고서 서버 데이터베이스 연결 구성(SSRS 구성 관리자)을 참조하세요.
Lister DNS 이름을 사용하도록 데이터베이스 연결을 업데이트합니다. 기본 모드 보고서 서버의 경우 Reporting Services 구성 관리자에서 보고서 서버 데이터베이스 이름을 변경합니다. SharePoint 모드의 경우 Reporting Services 서비스 응용 프로그램의 데이터베이스 서버 이름을 변경합니다.
보고서 서버 데이터베이스의 재해 복구를 완료하는 단계
Always On 가용성 그룹이 보조 복제본으로 장애 조치된 후 다음과 같은 단계를 수행해야 합니다.
Reporting Services 데이터베이스를 호스팅하는 주 데이터베이스 엔진에서 사용 중인 SQL 에이전트 서비스의 인스턴스를 중지합니다.
새 주 복제본인 컴퓨터에서 SQL 에이전트 서비스를 시작합니다.
보고서 서버 서비스를 중지합니다.
보고서 서버가 기본 모드인 경우 Reporting Services 구성 관리자를 사용하여 보고서 서버 Windows 서버를 중지합니다.
보고서 서버가 SharePoint 모드로 구성된 경우 SharePoint 중앙 관리에서 Reporting Services 공유 서비스를 중지합니다.
보고서 서버 서비스 또는 Reporting Services SharePoint 서비스를 시작합니다.
새 주 복제본에 대해 보고서를 실행할 수 있는지 확인합니다.
장애 조치(failover) 발생 시 보고서 서버 동작
보고서 서버 데이터베이스 장애 조치(failover)를 수행하고 새 주 복제본을 사용하도록 보고서 서버 환경을 업데이트한 경우 장애 조치(failover) 및 복구 프로세스로 인해 발생하는 몇 가지 운영 문제가 있습니다. 이러한 문제의 영향은 장애 조치(failover) 시 Reporting Services 로드와 Always On 가용성 그룹이 보조 복제본으로 장애 조치(failover)하는 데 걸리는 시간 및 보고서 서버 관리자가 새 주 복제본을 사용하도록 보고 환경을 업데이트하는 데 걸리는 시간에 따라 달라집니다.
다시 시도 논리와 보고서 서버가 장애 조치(failover) 기간 동안 예약된 작업을 완료된 것으로 표시할 수 없기 때문에 백그라운드 처리 실행이 두 번 이상 발생할 수 있습니다.
SQL Server 에이전트가 보고서 서버 데이터베이스에 데이터를 쓸 수 없으며 이 데이터가 새 주 복제본과 동기화되지 않으므로 장애 조치(failover) 기간 동안 실행되도록 일반적으로 트리거된 백그라운드 처리 실행은 발생하지 않습니다.
데이터베이스 장애 조치(failover)가 완료되고 보고서 서버 서비스가 다시 시작된 후 SQL Server 에이전트 작업이 자동으로 다시 생성됩니다. SQL 에이전트 작업이 다시 만들어질 때까지 SQL Server 에이전트 작업과 연결된 모든 백그라운드 실행이 처리되지 않습니다. 여기에는 Reporting Services 구독, 일정, 스냅샷이 포함됩니다.
또한 참조하십시오
고가용성을 위한 SQL Server 네이티브 클라이언트 지원, 가용성 복제본에 대한 클라이언트 연결 액세스에 대한 재해 복구(SQL Server) 고가용성을 위한 SQL Server 네이티브 클라이언트 네이티브 클라이언트 지원과 함께 연결 문자열 키워드를 사용하여 AlwaysOn 가용성 그룹 시작(SQL Server)