Поделиться через


Кэширование отчетов в службах Reporting Services

Сервер отчетов может кэшировать копию обработанного отчета и вернуть эту копию при открытии отчета пользователем. Для пользователя единственным свидетельством того, что отчет является копией сохраненного в кэш отчета, являются дата и время выполнения отчета. Если дата или время не являются текущими, и отчет представляет собой моментальный снимок, то отчет был извлечен из кэша.

Кэширование может сократить время, необходимое для поиска отчета, если отчет большого размера или к нему часто обращаются. Если сервер перезагружен, то все кэшируемые экземпляры восстанавливаются при восстановлении подключения к сети веб-службы сервера отчетов.

Кэширование — технология улучшения производительности. Содержимое кэша энергозависимо и может измениться при добавлении, замене или удалении отчетов. Если требуется более прогнозируемая стратегия кэширования, то необходимо создать моментальный снимок отчета. Дополнительные сведения см. в разделе Настройка свойств выполнения отчета.

ms155927.note(ru-ru,SQL.90).gifПримечание.
Службы Reporting Services хранят временные файлы в базе данных, что обеспечивает поддержку пользовательских сеансов и обработку отчетов. Эти файлы кэшируются для внутреннего использования и поддерживают целостность обозреваемых объектов в течение одного сеанса обозревателя. Дополнительные сведения о кэшировании временных файлов для внутреннего использования см. в разделе База данных сервера отчетов.

Кэшированные экземпляры

Кэшируемый экземпляр отчета основан на промежуточном формате отчета. Сервер отчетов в целом кэширует только один экземпляр отчета на основе его имени. Однако если отчет может содержать данные, зависящие от параметров запроса, то могут кэшироваться несколько версий отчета в любое данное время. Например, предположим, что имеется параметризованный отчет, который рассматривает код области в качестве значения параметра. Если у четырех различных пользователей имеются четыре уникальных кода области, то создаются четыре кэшированных копии.

Первый пользователь, который выполняет отчет с уникальным кодом области, создает кэшируемый отчет, который содержит данные для той области. Последующие пользователи, которые запрашивают отчет, используя тот же самый код области, получают его кэшированную копию.

Не все отчеты могут кэшироваться. Если отчет содержит данные, зависимые от пользователей, запрашивает у пользователей учетные данные или использует проверку подлинности Windows, то отчет не может быть кэширован.

Обновление кэша

Кэшированный отчет заменяется более новой версией, когда пользователь выбирает отчет, срок кэшированной копии которого истек. Отчеты, которые настроены на выполнение в виде кэшируемых экземпляров, удаляются из кэша через промежутки времени, определенные в параметрах настройки истечения срока действия. Установить срок действия отчета можно в минутах или по истечении определенного времени в соответствии с требованием срока предоставления данных. Если SOAP API не используется, то напрямую удалить отчеты из кэша невозможно.

Чтобы установить срок действия кэша, можно использовать общее расписание или расписание отчета. Если используется общее расписание и его действие приостанавливается, то срок кэширования не истекает, пока расписание приостановлено. Если общее расписание впоследствии удаляется, копия параметров настройки расписания сохраняется в виде расписания отчета.

Если срок расписания истекает или если ядро планирования недоступно на дату истечения срока хранения кэша, то сервер отчетов выполняет активный отчет до момента продолжения выполнения расписания (либо путем изменения конечной даты расписания, либо запуском службы планирования).

Предварительная загрузка кэша

Для улучшения работы сервера можно осуществить предварительную загрузку кэша. Чтобы выполнить предварительную загрузку коллекции экземпляров параметризованных отчетов в кэш, создайте управляемую данными подписку, использующую параметр «Отсутствующий поставщик доставки». При установке параметра «Отсутствующий поставщик доставки» в качестве метода доставки подписки сервер отчетов рассматривает базу данных сервера отчетов как адресат доставки и использует специальный модуль подготовки, называемый пустым модулем подготовки отчетов.

Эта функция особенно полезна, если нужно кэшировать несколько экземпляров параметризованного отчета, где используются различные значения параметра для получения различных экземпляров отчета. Обратите внимание на то, что можно указать только те параметры отчета, которые основаны на запросе. В отличие от других модулей доставки вариант «Отсутствующий поставщик доставки» не имеет параметров доставки, которые можно настраивать через определение подписки.

Если создается управляемая данными подписка, необходимо установить расписание доставки отчета в кэш. Для доставки в кэш новых копий необходимо истечение срока действия старых копий. Поэтому необходимо установить конфигурацию свойств выполнения отчета, включающую параметры настроек срока истечения кэша. Установка срока истечения должна соответствовать определяемому вами расписанию подписки. Например, если создается подписка, которая выполняется каждую ночь, то срок кэша должен также заканчиваться каждую ночь до момента выполнения подписки. Если свойства выполнения не включают в себя сроки истечения, то более новые доставки не будут обрабатываться. Дополнительные сведения об установке свойств см. в разделе Настройка свойств выполнения отчета. Дополнительные сведения об использовании управляемых данными подписок см. в разделе Подписки, управляемые данными.

Условия, приводящие к истечению срока кэша

Кэшированный отчет становится недействительным в результате следующих событий: изменения определения отчета, изменения параметров отчета, изменения учетных данных источника данных или изменения параметров выполнения отчета. Если удаляется отчет, сохраненный в кэше, то его версия в кэше также удаляется.

Если отчет не может быть по какой-то причине передан для обработки из экземпляра, хранящегося в кэше (например если значения параметра отличаются от используемых для создания кэшированного отчета), то сервер отчетов повторно запускает отчет.

См. также

Задачи

Как установить параметры обработки (режим интеграции с SharePoint)
Как выполнить предварительную загрузку кэша (диспетчер отчетов)
Как заранее загрузить кэш (среда Management Studio)

Основные понятия

Моментальные снимки отчета

Другие ресурсы

Управление обработкой отчетов
Планирование расписаний для отчетов и подписок

Справка и поддержка

Получение помощи по SQL Server 2005