Смотрите историю SQL-инструкций, выполняемых пользователем в Azure SQL

#azure-sql-database #azure-sql-server #azure-sql-managed-instance

#azure-sql-database #azure-sql-server #azure-sql-managed-instance

Вопрос:

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

Если я посмотрю на портале Azure в этой базе данных в разделе Query Performance Insight, я получу 5 лучших запросов производительности. Но его запросы там не отображаются. Если бы я мог каким-то образом получить последние запросы от этого пользователя, это было бы очень полезно. Не имеет значения, находится ли решение в веб-интерфейсе портала Azure или в виде запроса, который я запускаю к некоторым представлениям администратора в базе данных.

Комментарии:

1. Пожалуйста, обратитесь к learn.microsoft.com/en-us/azure/azure-sql/database /…

Ответ №1:

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

Аудит базы данных SQL Azure позволяет настраивать детализированные политики аудита для требований, подобных вашим. Вы можете использовать командлет PowerShell Set-AzureRmSqlDatabaseAuditing для создания такой детализированной политики. Параметр -AuditAction позволяет указать действия входа, которые вы хотели бы проверить. Например, использование следующего значения параметра приведет к аудиту любого оператора SELECT в таблице ‘myTable’ участником ‘yourlogin’:

-AuditAction ‘ВЫБЕРИТЕ В dbo.myTable С ПОМОЩЬЮ yourlogin’

Ответ №2:

Я бы также рекомендовал использовать хранилище запросов.

Измените настройки, чтобы выполнить следующее

  • Очистить хранилище запросов
  • Измените захват запроса, чтобы захватить все запросы

Затем просмотрите отчеты в хранилище запросов. Убедитесь, что также измените хранилище, чтобы оно не заканчивалось.