일정 예약 및 배달 프로세서

SQL Server Reporting Services에는 예약 작업을 지원하고 전자 메일 받은 편지함이나 공유 폴더 대상으로 보고서를 밀어넣는 데 사용되는 배달 확장 프로그램을 구동하기 위한 일정 예약 및 배달 프로세서 구성 요소가 포함되어 있습니다. 일정 예약 및 배달 프로세서는 다음 기능을 제공합니다.

  • 이벤트 및 알림 큐를 유지 관리합니다. 확장 배포에서는 배포의 모든 보고서 서버에서 큐가 공유됩니다.
  • 보고서 프로세서를 호출하여 보고서를 실행하거나 구독을 처리하거나 캐시된 보고서를 지웁니다. 일정 이벤트의 결과로 발생하는 모든 보고서 처리는 보고서 서버 웹 서비스가 아닌 보고서 서버 Windows 서비스에 의해 수행됩니다.
  • 보고서를 배달할 수 있도록 구독에서 지정되어 있는 배달 확장 프로그램을 호출합니다.

일정 예약 및 배달 작업의 다른 측면은 일정 예약 및 배달 프로세서와 함께 작동하는 다른 구성 요소 및 서비스에 의해 처리됩니다. 특히 일정 예약 및 배달 프로세서는 보고서 서버 Windows 서비스에서 실행되며 SQL Server 에이전트를 타이머로 사용하여 예약된 이벤트를 생성합니다. 다음 목록은 Reporting Services 배포에서 일정이 예약된 작업의 작동 방식을 설명합니다.

  1. 예약된 작업은 사용자가 일정을 만들 때 정의됩니다. 일정은 보고서 실행, 스냅숏 새로 고침 또는 캐시 만료에 사용되는 날짜 및 시간을 정의합니다.
  2. 보고서 서버는 보고서 서버 데이터베이스에 일정 정보를 저장합니다.
  3. 보고서 서버는 SQL Server 에이전트에서 해당하는 작업을 만들고 제공된 일정 정보에 따라 이를 실행합니다. 작업은 보고서 서버 데이터베이스에 대해 열린 기존 연결을 사용하여 저장 프로시저를 통해 생성됩니다.
  4. SQL Server 에이전트는 일정에 지정된 날짜 및 시간에 작업을 실행합니다. 작업이 만드는 이벤트는 Reporting Services가 유지 관리하는 큐에 추가됩니다.
  5. 이러한 이벤트로 인해 보고서 또는 구독 처리가 발생합니다. 이벤트는 큐에서 감지될 때 처리되며 보고서는 이에 따라 처리 또는 배달됩니다.

Reporting Services는 모든 예약된 작업에 대해 이벤트 큐를 관리합니다. 또한 새 이벤트를 확인하기 위해 정기적으로 큐를 폴링합니다. 기본적으로 큐는 10초 간격으로 검색됩니다. RSReportServer.config 파일에서 PollingInterval, IsNotificationServiceIsEventService 구성 설정을 수정하여 간격을 변경할 수 있습니다. 자세한 내용은 RSReportServer 구성 파일을 참조하십시오.

서버 종속성

일정 예약 및 배달 프로세서를 사용하려면 보고서 서버 Windows 서비스와 SQL Server 에이전트를 시작해야 합니다. 일정 및 배달 처리 기능은 SQL Server 노출 영역 구성 도구를 통해 설정해야 합니다. 예약된 작업이 수행되려면 SQL Server 에이전트와 보고서 서버 Windows 서비스가 모두 실행되어야 합니다.

[!참고] 노출 영역 구성 도구를 사용하여 일시적으로나 영구적으로 예약된 작업을 중지할 수 있습니다. 일정 예약 및 배달 프로세서는 포괄적이지 않으며 구성 설정도 없습니다. 따라서 이벤트 및 알림이 관리되는 방식을 변경할 수 없습니다. 노출 영역 구성 도구에 대한 자세한 내용은 SQL Server 노출 영역 구성을 참조하십시오.

SQL Server 에이전트를 중지할 때의 결과

예약된 보고서 처리는 기본적으로 SQL Server 에이전트를 사용합니다. 이 서비스를 중지하면 FireEvent 메서드를 통해 프로그래밍 방식으로 큐에 처리 요청을 추가할 때까지 큐에 새로운 처리 요청이 추가되지 않습니다. 서비스를 다시 시작하면 보고서 처리 요청을 만드는 작업이 다시 시작됩니다. SQL Server 에이전트가 오프라인 상태일 때 보고서 서버는 과거에 발생했을 수 있는 보고서 처리 작업을 다시 만들려고 하지 않습니다. 따라서 1주일 동안 SQL Server 에이전트를 중지하면 해당 주간에 예약된 모든 작업이 손실됩니다.

[!참고] SQL Server 에이전트가 Reporting Services에 제공하는 기능은 FireEvent 메서드를 사용하여 큐에 일정 이벤트를 추가하는 사용자 지정 코드로 대체될 수 있습니다.

보고서 서버 Windows 서비스를 중지할 때의 결과

보고서 서버 Windows 서비스를 중지하면 SQL Server 에이전트는 큐에 보고서 처리 요청을 계속 추가합니다. SQL Server 에이전트의 상태 정보는 작업이 성공적으로 수행되었음을 나타냅니다. 그러나 보고서 서버 Windows 서비스가 중지되었으므로 실제로 보고서 처리는 발생하지 않습니다. 보고서 서버 Windows 서비스를 다시 시작할 때까지 요청은 큐에 계속 누적됩니다. 보고서 서버 Windows 서비스를 다시 시작하면 큐에 있는 모든 보고서 처리 요청이 순서대로 처리됩니다.

참고 항목

개념

RSReportServer 구성 파일
보고서 서버 Windows 서비스 시작 및 중지
Reporting Services 구성 요소 개요

관련 자료

구독을 통한 보고서 배달
보고서 및 구독 일정 예약

도움말 및 정보

SQL Server 2005 지원 받기