Кэшировать общие наборы данных (SSRS)

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

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

В следующем списке приведены примеры, когда следует кэшировать общий набор данных.

  • Выполнение запроса требует значительного времени.

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

  • Запрос запускается в прогнозируемое время дня, недели или месяца.

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

В следующем списке приведены примеры, когда не следует кэшировать общий набор данных.

  • Результаты запроса должны всегда содержать самые последние данные.

  • Запрос выполняется быстро.

  • Запрос выполняется редко.

  • Запрос принимает параметры, количество сочетаний параметров велико, и ни одно сочетание не является более вероятным, чем другие.

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

  • Фильтр общего набора данных или запрос содержит выражение со ссылкой на пользователя глобальной коллекции.

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

Кэшировать общие наборы данных

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

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

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

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

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

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

  • Для общего набора данных должно быть включено кэширование.

  • Общий источник данных, от который зависит общий набор данных, не может использовать учетные данные командной строки или встроенные учетные данные Windows.

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

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

  • Необходимо иметь ReadPolicy и UpdatePolicy разрешения на общий набор данных.

Планы обновления кэша применяются и к общим наборам данных, и к отчетам. Дополнительные сведения см. в разделе "Отчеты кэша " (SSRS)".

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

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

  • Истек срок действия одного из условий расписания. Происходит очистка кэша по времени ожидания, или истекает срок хранения.

  • Удаляется общее расписание.

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

  • Изменяется определение запроса для общего набора данных.

  • Изменяются учетные данные для общего источника данных, от которого зависит общий набор данных.

  • Изменяются параметры кэша для общего набора данных.

  • Изменяются значения по умолчанию для допускающих только чтение параметров общего набора данных.

  • Изменяются фильтры, которые являются частью определения общего набора данных.

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

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

Управление общими наборами данных