#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:
Я бы также рекомендовал использовать хранилище запросов.
Измените настройки, чтобы выполнить следующее
- Очистить хранилище запросов
- Измените захват запроса, чтобы захватить все запросы
Затем просмотрите отчеты в хранилище запросов. Убедитесь, что также измените хранилище, чтобы оно не заканчивалось.