Журналы обработки куба SSAS

Где хранятся журналы обработки куба SSAS (не ошибок, не бортовых самописцев)?

У нас есть задание агента SQL, выполняющее команду служб аналитики SQL Server. В нем есть DMX, который обрабатывает каждое измерение, а затем обрабатывает базу данных куба (содержащую два куба)

Я хочу знать, сколько времени занимает каждый из различных запросов. Есть один запрос на измерение и один запрос на группу мер.

Куб занимал 20 минут, теперь это занимает 2 часа.

Мы используем SSAS 2008 R2

Я долго и упорно искал, и, насколько я могу судить, такого журнала нет.

вопросы, которые не дублируют:

Записи журнала ошибок в SSAS

получить вывод последнего процесса в кубе SSAS

Я не хочу использовать Profiler. Я хочу увидеть, сколько времени занимает каждый запрос, по крайней мере, при последней сборке куба. Я могу увидеть всю эту информацию, если буду работать в интерактивном режиме. Как мне заставить его регистрировать эту информацию при запуске из задания?


person Nick.McDermaid    schedule 16.07.2015    source источник


Ответы (1)


Есть пара вариантов. Вы можете просто продолжить обработку куба в обычном режиме, но начать регистрировать все события обработки. Помимо графического интерфейса Profiler, это можно сделать тремя основными способами:

  1. Трассировка на стороне сервера записывает файл .trc на диск на сервере SSAS с небольшими накладными расходами: http://blogs.msdn.com/b/karang/archive/2009/11/02/sql-2005-sql-2008-analysis-services-server-side-tracing.aspx Затем вы можете загрузить его на SQL-сервер для последующего анализа через PowerShell: http://www.bp-msbi.com/2012/02/counting-number-of-query-formed-in-ssas/

  2. Установите поддерживаемую сообществом службу под названием ASTrace, которая использует API-интерфейсы Profiler (без графического интерфейса пользователя) и записывает выбранные вами события Profiler непосредственно в SQL Server в режиме реального времени. https://github.com/Microsoft/Analysis-Services/tree/master/AsTrace

  3. Регистрируйте XEvents и анализируйте их позже: http://blog.crossjoin.co.uk/2012/05/05/using-xevents-in-ssas-2012/ Или: https://francescodechirico.wordpress.com/2012/08/03/identify-storage-engine-and-formula-engine-bottlenecks-with-new-ssas-xevents-5/

Все эти параметры будут регистрировать все транзакции обработки. Вы можете выбрать, какие события вы хотите регистрировать (например, обработка событий, а не запросов).

Но другой альтернативой является использование трассировки сеанса. Вы можете прекратить использовать тип шага «Команда служб аналитики SQL» в агенте SQL и начать использовать тип шага PowerShell и сделать что-то вроде следующего. В этом примере выполняется резервное копирование SSAS из PowerShell с помощью SessionTrace для отслеживания всех событий «профилировщика» только для этого сеанса: https://gallery.technet.microsoft.com/scriptcenter/Backup-Ssas-Databases-with-da62b084

person GregGalloway    schedule 16.07.2015
comment
Большое спасибо за подробный ответ. Я предполагаю, что это отвечает на вопрос, существует ли какой-либо существующий журнал, и ответ отрицательный. Первый вариант, о котором вы упомянули, мне кажется лучшим. Я знаю, что рано или поздно мне придется узнать о трассировках на стороне сервера. Я оставлю это открытым еще немного. - person Nick.McDermaid; 16.07.2015