Есть ли способ проверить, какие запросы выполняются пользователем в табличном SSAS? - PullRequest
0 голосов
/ 24 сентября 2019

Я использую модель BI, основанную на SSAS Tabular, использую SQL Server 2016. Несколько членов команды запрашивают ее для своих нужд.Я хочу узнать, какие запросы выполняются и кто выполняет эти запросы.

Не удалось найти DMV , что очень полезно в моем случае.

Этот запрос показывает только последнюю команду, выполненную пользователем.

Select * from $System.discover_sessions

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Для вопроса «Кто выполняет эти запросы» мы используем функцию « Журналы запросов » SSAS.

После настройки набора свойств на сервере SSAS,он начнет регистрироваться в настроенной таблице SQL Server.

Чтобы включить журнал запросов, выполните следующие действия:

(1) Создайте реляционную базу данных SQL Server для хранения запроса.log.

(2) Предоставьте учетной записи службы Analysis Services достаточные разрешения для базы данных.Учетная запись должна иметь разрешение на создание таблицы, запись в нее и чтение из таблицы.

(3) В SQL Server Management Studio щелкните правой кнопкой мыши Analysis Services |Свойства |В общем случае установите для CreateQueryLogTable значение true.

(4) При необходимости измените QueryLogSampling или QueryLogTableName, если хотите выполнять выборку запросов с другой скоростью, или используйте другое имя для таблицы.

К сожалению, Журналы запросов НЕ регистрируют запросы!Но он помогает определить, кто / когда выполняет запросы.

После включения ведения журнала вы можете запросить у таблицы статистику.

SELECT CAST(starttime AS DATE) 'Date'
        , MSOLAP_User 'User'
        , COUNT(1) 'No. of queries'
FROM [dbo].[OlapQueryLog]
GROUP BY MSOLAP_User
        , CAST(starttime AS DATE)
ORDER BY 1 DESC, 3 DESC

Также есть AsTrace инструмент

Для постоянного мониторинга и ведения журнала инструмент ASTrace будет захватывать трассировку Profiler и записывать ее в таблицу SQL Server без использования графического интерфейса пользователя.ASTrace также работает как служба Windows, позволяя автоматически перезагружаться при перезагрузке сервера.

0 голосов
/ 25 сентября 2019

Самым простым из них по-прежнему является SQL Server Profiler.Он был всегда, почти заменен расширенными событиями, но прекрасно работает с SSAS и легко отслеживает активность с ним.

...