보고서 캐시(SSRS)Caching Reports (SSRS)

보고서 서버는 처리된 보고서의 복사본을 캐시했다가 사용자가 보고서를 열면 해당 복사본을 반환할 수 있습니다.A report server can cache a copy of a processed report and return that copy when a user opens the report. 사용자는 보고서가 실행된 날짜와 시간을 통해서만 보고서가 캐시된 복사본인지 여부를 알 수 있습니다.To a user, the only evidence available to indicate the report is a cached copy is the date and time that the report ran. 보고서의 날짜 또는 시간이 현재가 아니고 보고서가 스냅숏이 아니라면 캐시에서 가져온 보고서입니다.If the date or time is not current and the report is not a snapshot, the report was retrieved from cache.

캐싱은 보고서가 크거나 자주 액세스되는 경우 보고서를 검색하는 데 필요한 시간을 단축시킬 수 있습니다.Caching can shorten the time required to retrieve a report if the report is large or accessed frequently. 서버를 다시 부팅한 경우 보고서 서버 웹 서비스가 온라인 상태로 돌아오면 캐시된 모든 인스턴스가 복원됩니다.If the server is rebooted, all cached instances are reinstated when the Report Server Web service comes back online.

캐싱은 성능을 향상시키는 기술입니다.Caching is a performance-enhancement technique. 캐시의 내용은 휘발성이며 보고서가 추가, 대체 또는 제거되면 그에 따라 변경될 수 있습니다.The contents of the cache are volatile and can change as reports are added, replaced, or removed. 좀 더 예측 가능한 캐싱을 위해서는 보고서 스냅숏을 만들어야 합니다.If you require a more predictable caching strategy, you should create a report snapshot. 자세한 내용은 보고서 처리 속성 설정을 참조하세요.For more information, see Set Report Processing Properties.

참고

Reporting ServicesReporting Services사용자 세션 및 보고서 처리를 지원 하기 위해 데이터베이스에 임시 파일을 저장 합니다. stores temporary files in a database to support user sessions and report processing. 이러한 파일은 단일 브라우저 세션 중에 일관된 뷰를 제공하며 내부용으로 사용하기 위해 캐시됩니다.These files are cached for internal use and to support a consistent viewing experience during a single browser session. 내부용 임시 파일을 캐시하는 방법에 대한 자세한 내용은 보고서 서버 데이터베이스(SSRS 기본 모드)를 참조하세요.For more information about how internal-use temporary files are cached, see Report Server Database (SSRS Native Mode).

캐시된 인스턴스Cached Instances

보고서의 캐시된 인스턴스는 보고서의 중간 형식을 기반으로 합니다.A cached instance of a report is based on the intermediate format of a report. 보고서 서버는 일반적으로 보고서 이름에 따라 하나의 보고서 인스턴스를 캐시합니다.The report server generally caches one instance of a report based on the report name. 그러나 보고서에 쿼리 매개 변수를 기반으로 하는 다른 데이터가 포함될 수 있는 경우 여러 버전의 보고서가 캐시됩니다.However, if a report can contain different data based on query parameters, multiple versions of the report may be cached at any given time. 예를 들어 지역 번호를 매개 변수 값으로 사용하는 매개 변수가 있는 보고서가 있다고 가정해 봅시다.For example, suppose you have a parameterized report that takes a region code as a parameter value. 4명의 사용자가 고유한 지역 번호 4개를 지정하면 캐시된 복사본 4개가 만들어집니다.If four different users specify four unique region codes, four cached copies are created.

고유한 지역 번호가 있는 보고서를 실행하는 첫 번째 사용자는 해당 지역에 대한 데이터를 포함하는 캐시된 보고서를 만듭니다.The first user who runs the report with a unique region code creates a cached report that contains data for that region. 같은 지역 번호를 사용하는 보고서를 요청하는 다음 사용자는 캐시된 복사본을 얻습니다.Subsequent users who request the report using the same region code get the cached copy.

모든 보고서가 캐시되는 것은 아닙니다.Not all reports can be cached. 보고서가 사용자 종속 데이터를 포함하거나 사용자에게 자격 증명을 요청하거나 Windows 인증을 사용하면 캐시될 수 없습니다.If a report includes user-dependent data, prompts users for credentials, or uses Windows Authentication, it cannot be cached.

캐시 새로 고침Refreshing the Cache

이전에 캐시된 복사본이 만료된 이후에 사용자가 해당 보고서를 선택하면 캐시된 보고서가 최신 버전으로 대체됩니다.A cached report is replaced with a newer version when a user selects the report after the previously cached copy has expired. 캐시된 인스턴스로 실행되도록 구성된 보고서는 만료 설정에 따라 정기적인 간격으로 캐시에서 제거됩니다.Reports that are configured to run as cached instances are removed from the cache at regular intervals based on expiration settings. 데이터의 즉시 필요 여부에 따라 보고서 만료를 분 단위로 설정하거나 예약된 시간에 보고서가 만료되도록 설정할 수 있습니다.You can set a report's expiration in minutes or at a scheduled time, as determined by the data's immediacy requirement. SOAP API를 사용하지 않는 한 캐시에서 직접 보고서를 삭제할 수 없습니다.You cannot delete reports from the cache directly unless you use the SOAP API.

캐시 만료를 구성하려면 공유 일정이나 보고서별 일정을 사용할 수 있습니다.To configure cache expiration, you can use a shared schedule or report-specific schedule. 공유 일정을 사용하다가 이후에 일시 중지된 경우 일정이 작동하지 않는 동안에는 캐시가 만료되지 않습니다.If you use a shared schedule and it is subsequently paused, the cache does not expire while the schedule is inoperative. 이후에 공유 일정을 삭제하면 일정 설정 복사본이 보고서별 일정으로 저장됩니다.If the shared schedule is subsequently deleted, a copy of the schedule settings is saved as a report-specific schedule.

일정이 만료되거나 캐시 만료 날짜에 일정 예약 엔진을 사용할 수 없는 경우 보고서 서버는 일정을 확장하거나 일정 서비스를 시작하여 예약된 작업이 다시 시작될 때까지 실제 보고서를 실행합니다.If a schedule expires or if the scheduling engine is unavailable at a cache expiration date, the report server runs a live report until scheduled operations can be resumed (by either extending the schedule or starting the scheduling service).

캐시 미리 로드Preloading the Cache

서버 성능을 향상시키기 위해 캐시를 미리 로드할 수 있습니다.To improve server performance, you can preload the cache. 다음과 같은 두 가지 방법으로 매개 변수가 있는 보고서 인스턴스의 모음과 함께 캐시를 미리 로드할 수 있습니다.You can preload the cache with a collection of parameterized report instances in two ways:

  1. 캐시 새로 고침 계획을 만듭니다.Create a cache refresh plan. 새로 고침 계획을 만들 경우 단일 보고서에 대한 일정을 지정하거나 공유 일정을 지정할 수 있습니다.When you create a refresh plan, you can specify a schedule for a single report or specify a shared schedule.

  2. Null 배달 공급자를 사용하는 데이터 기반 구독을 만듭니다.Create a data-driven subscription that uses the Null Delivery Provider. 구독에서 Null 배달 공급자를 배달 방법으로 지정하면 보고서 서버는 보고서 서버 데이터베이스를 배달 대상으로 지정하고 Null 렌더링 확장 프로그램이라고 하는 특수한 렌더링 확장 프로그램을 사용합니다.When you specify the Null Delivery Provider as the method of delivery in the subscription, the report server targets the report server database as the delivery destination and uses a specialized rendering extension called the null rendering extension. 다른 배달 확장 프로그램과는 달리 Null 배달 공급자에는 구독 정의를 통해 구성할 수 있는 배달 설정이 없습니다.In contrast with other delivery extensions, the Null Delivery Provider does not have delivery settings that you can configure through a subscription definition.

    보고서를 캐시하는 기능은 매개 변수가 있는 여러 보고서 인스턴스를 캐시할 때 특히 유용하며, 다양한 매개 변수 값을 사용하여 서로 다른 보고서 인스턴스가 생성됩니다.Caching a report is especially useful if you want to cache multiple instances of a parameterized report where different parameter values are used to produce different report instances. 보고서에는 쿼리 기반 매개 변수만 지정할 수 있습니다.Note that you can only specify query-based parameters on the report.

    일정을 지정하거나 데이터 기반 구독을 만들 때는 보고서를 캐시로 배달하는 빈도를 예약해야 합니다.When you specify a schedule or when you create the data-driven subscription, you schedule how often the reports are delivered to the cache. 새 복사본을 캐시로 배달하려면 이전 복사본이 만료되어야 합니다.In order for new copies to be delivered to the cache, the old copies must have expired. 따라서 캐시 만료 설정을 포함하도록 보고서의 실행 속성을 구성해야 합니다.Therefore, the Execution properties of the report must be configured to include cache expiration settings. 만료 설정은 사용자가 정의한 구독 일정과 일치해야 합니다.The expiration setting must be consistent with the subscription schedule that you define. 예를 들어 매일 밤에 실행되는 구독을 만드는 경우 캐시는 매일 밤 구독 실행 시간 전에 만료되어야 합니다.For example, if you create a subscription that runs every night, the cache should also expire every night prior to the subscription's run time. 실행 속성에 만료 시간이 포함되지 않으면 새 배달은 무시됩니다.If the Execution properties do not include expiration times, newer deliveries are disregarded. 캐시 새로 고침 계획에 대한 자세한 내용은 일정을 참조하세요.For more information about cache refresh plans, see Schedules. 속성을 설정하는 방법에 대한 자세한 내용은 보고서 처리 속성 설정을 참조하세요.For more information about setting properties, see Set Report Processing Properties. 데이터 기반 구독을 사용하는 방법에 대한 자세한 내용은 데이터 기반 구독을 참조하세요.For more information about using data-driven subscriptions, see Data-Driven Subscriptions.

캐시 만료 조건Conditions That Cause Cache Expiration

캐시된 보고서는 보고서 정의가 수정되거나 보고서 매개 변수가 수정되거나 데이터 원본 자격 증명이 변경되거나 보고서 실행 옵션이 변경될 때 무효화됩니다.A cached report is invalidated in response to the following events: the report definition is modified, report parameters are modified, data source credentials change, or report execution options change. 캐시에 저장된 보고서가 삭제되면 캐시된 버전도 삭제됩니다.If you delete a report that is stored in the cache, the cached version is also deleted.

사용자가 지정한 매개 변수 값이 캐시된 보고서를 만드는 데 사용된 값과 다른 경우 등 어떤 이유에서든 캐시된 인스턴스에서 보고서를 렌더링할 수 없으면 보고서 서버에서 보고서를 다시 실행합니다.If a report cannot be rendered from a cached instance for any reason (for example, if the parameter values that a user specifies are different from those used to produce the cached report), the report server reruns the report.

관련 항목:See Also

처리 옵션 ( 설정 합니다. 모드 ) 통합 SharePoint의 reporting Services Set Processing Options (Reporting Services in SharePoint Integrated Mode)
보고서 처리 속성 설정 Set Report Processing Properties
Reporting Services 개념 ( Ssrs) Reporting Services Concepts (SSRS)
캐시 ( 미리 로드 보고서 관리자 ) Preload the Cache (Report Manager)
일정 Schedules
공유 데이터 집합 ( 캐시 Ssrs) Cache Shared Datasets (SSRS)
캐시 새로 고침 옵션 ( 보고서 관리자 )Cache Refresh Options (Report Manager)