Как просмотреть историю запросов (все ИЛИ за длительный период), выполненных для базы данных, размещенной на Azure?
Для базы данных, размещенной в Azure, я могу просмотреть недавнюю историю выполненных на ней запросов. Это через портал Azure> База данных> Управление> Администрирование> Производительность запросов.
К сожалению, история, найденная там, охватывает только небольшой промежуток времени (несколько минут). Я намереваюсь создать некластеризованные индексы в моей базе данных, и для этого мне нужно получить журнал реальных запросов, выполняемых к данным в обычный день, в отличие от последних нескольких минут.
В настоящее время мне приходится многократно обновлять страницу и записывать все запросы для каждого обновления. Даже тогда журнал, который я получаю после этого тяжелого процесса, отражает лишь небольшое подмножество выполненных запросов. Есть ли возможность просматривать истории на более длительные периоды?
Благодарю.
2 ответа
Вот запрос, который я нашел полезным для просмотра наиболее выполненных запросов в моей базе данных Azure SQL Server:
SELECT TOP 10 execution_count, statement_text
FROM (
SELECT QS.*,
SUBSTRING(
ST.text,
(QS.statement_start_offset/2) + 1,
((
CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset
) /2)
+ 1
) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST
) AS query_stats
WHERE statement_text LIKE 'UPDATE%'
ORDER BY execution_count DESC
Источник: March Madness - SQL Azure - sys.dm_exec_query_plan | SQLRockstar | Томас Ларок
База данных Windows Azure SQL предлагает динамические административные представления (DMV), которые возвращают информацию о состоянии сервера, которую можно использовать для мониторинга работоспособности экземпляра сервера, диагностики проблем и настройки производительности.
Список доступных представлений см. В разделе "Представления системы" (база данных Windows Azure SQL).
Примеры того, как найти запросы с интенсивным использованием процессора, длительные запросы и запросы с интенсивным вводом / выводом, см. В разделе Настройка баз данных SQL Azure, часть 2.
Дополнительные советы по устранению неполадок см. В разделах "Устранение неполадок и оптимизация запросов с помощью базы данных SQL Azure", " Повышение производительности ввода-вывода", " Анализ производительности базы данных SQL Azure Windows", " Устранение неполадок с базой данных SQL Azure Windows", " Поиск блокирующих запросов в SQL Azure", " Мартовское безумие" - SQL Azure - sys.dm_exec_query_stats.
Также рассмотрите возможность профилирования на уровне приложения, например, как объяснено в Профилирование базы данных в Entity Framework и Профилирование запросов SQL Azure при использовании Entity Framework или Linq-to-SQL.
Для расширенного мониторинга рассмотрите возможность развертывания пакета управления базами данных SQL Windows Azure для System Center 2012.