Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
Службы Analysis Services кэшируют данные для повышения производительности запросов. В этом разделе приведены рекомендации по использованию команды XMLA ClearCache для очистки кэшей, созданных в ответ на запросы многомерных выражений. Эффекты выполнения команды ClearCache различаются в зависимости от используемой модели (табличной или многомерной).
Время очистки кэша для многомерных моделей
Для многомерных баз данных службы Analysis Services строят кэши в обработчике формул при выполнении вычисления и в подсистеме хранилища для результатов запросов измерений и запросов групп мер. Запросы групп мер выполняются, когда обработчику формул необходимы данные мер для координаты ячейки или вложенного куба. Запросы измерения выполняются при запросе неестественных иерархий и применении автоматических проверок существования.
Очистка кэша рекомендуется при проведении тестирования производительности. Очистка кэша между последовательными выполнениями тестов обеспечивает независимость результатов тестирования, измеряющих эффект изменения структуры запроса.
Время очистки кэша для табличных моделей
Табличные модели обычно хранятся в памяти, где агрегаты и другие вычисления выполняются во время выполнения запроса. Поэтому команда ClearCache имеет ограниченное влияние на табличные модели. Для табличной модели данные могут добавляться в кэши служб Analysis Services, если к ним выполняются запросы многомерных выражений. В частности, меры расширений интеллектуального анализа данных, упоминаемые в многомерных выражениях, и операции автоматической проверки существования могут кэшировать результаты соответственно в кэше формул и кэше измерений. Заметьте, что неестественные иерархии и запросы групп мер не кэшируют результаты в подсистеме хранилища. Кроме того, важно понимать, что запросы расширений интеллектуального анализа данных не кэшируют результаты в обработчике формул и подсистеме хранилища. Пока кэши существуют как результат запросов многомерных выражений, выполнение команды ClearCache для табличной модели сделает недопустимыми все кэшированные данные в системе.
Запуск ClearCache также очищает кэши в памяти в подсистеме аналитики VertiPaq в памяти. Подсистема VertiPaq хранит в кэше небольшой набор результатов. Запуск ClearCache сделает эти кэши недействительными в подсистеме.
Наконец, выполнение ClearCache также удаляет данные, оставшиеся в памяти при изменении конфигурации табличной модели для режима DirectQuery . Это особенно важно, если модель содержит конфиденциальные данные, подлежащие строгому управлению. В этом случае выполнение команды ClearCache служит мерой предосторожности, обеспечивающей наличие конфиденциальных данных только в соответствующих местах. Очистка кэша вручную необходима, если вы используете Management Studio для развертывания модели и изменения режима запроса. В отличие от этого, использование SQL Server Data Tools для указания DirectQuery в модели и секциях автоматически очищает кэш при переключении модели на использование этого режима запросов.
В отличие от очистки кэшей многомерной модели при тестировании производительности, для очистки кэшей табличной модели нет общих рекомендаций. Если в среде табличной модели, в которой содержатся конфиденциальные данные, не выполняется развертывание, то ни одна из административных задач сама по себе не требует очистки кэша.
Очистка кэша для моделей служб Analysis Services
Чтобы очистить кэш, используйте XMLA и SQL Server Management Studio. Кэш вы можете очищать на уровне базы данных, куба, измерения, таблицы или группы мер. Следующие действия по очистке кэша на уровне базы данных относятся и к многомерным и к табличным моделям.
Примечание
Для тщательного тестирования производительности может потребоваться комплексный подход к очистке кэша. Инструкции по записи на диск служб Analysis Services и файловой системы см. в разделе, посвященном очистке кэшей, в руководстве SQL Server 2008 R2 Analysis Services Operations Guide (на английском языке).
Для многомерных и табличных моделей очистка некоторых из этих кэшей может выполняться в два этапа: выполнение команды ClearCache, делающей кэш недопустимым, и очистка кэша при получении следующего запроса. Сокращение объема используемой памяти будет заметно только после окончательной очистки кэша.
Для очистки кэша необходимо указать идентификатор объекта в инструкции ClearCache в запросе XMLA. Сначала в этом разделе описывается, как получить идентификатор объекта.
Шаг 1. Получение идентификатора объекта
В Management Studio щелкните правой кнопкой мыши объект, выберите Свойства и скопируйте значение из свойства ID на панели Свойства . Такой подход работает для баз данных, кубов, измерений и таблиц.
Чтобы получить идентификатор группы мер, щелкните правой кнопкой мыши группу мер и выберите пункт Создать скрипт для группы мер. Выберите команду CREATE или ALTERи отправьте запрос в окно. Идентификатор группы мер будет виден в определении объекта. Скопируйте идентификатор определения объекта.
Шаг 2. Запуск запроса
В Среде Management Studio щелкните правой кнопкой мыши базу данных, наведите указатель мыши на пункт Создать запрос и выберите XMLA.
Скопируйте следующий пример кода в окно запроса XMLA. Замените DatabaseID на идентификатор базы данных для текущего соединения.
<ClearCache xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID> Adventure Works DW Multidimensional</DatabaseID> </Object> </ClearCache>
Также вы можете указать путь к дочернему объекту, например группе мер, чтобы очистить кэш только для этого объекта.
<ClearCache xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>Adventure Works DW Multidimensional</DatabaseID> <CubeID>Adventure Works</CubeID> <MeasureGroupID>Fact Currency Rate</MeasureGroupID> </Object> </ClearCache>
Нажмите клавишу F5, чтобы выполнить запрос. Вы должны увидеть следующий результат:
<return xmlns="urn:schemas-microsoft-com:xml-analysis"> <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty" /> </return>