Как просмотреть историю запросов (все ИЛИ за длительный период), выполненных для базы данных, размещенной на 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.

Другие вопросы по тегам