Как посмотреть историю запросов MS SQL: простой способ их отслеживания

Чтобы посмотреть историю запросов в MS SQL, вы можете использовать системную таблицу sys.dm_exec_query_stats. Эта таблица содержит информацию о выполненных запросах и их статистике.

Вот пример запроса, который позволяет увидеть историю запросов:

SELECT
        qs.creation_time AS [Время создания],
        SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
                ((CASE qs.statement_end_offset
                    WHEN -1 THEN DATALENGTH(st.text)
                    ELSE qs.statement_end_offset END
                    - qs.statement_start_offset)/2) + 1) AS [Текст запроса],
        qs.execution_count AS [Количество выполнений],
        qs.total_worker_time AS [Общее время выполнения (в микросекундах)],
        qs.total_elapsed_time AS [Общее затраченное время (в микросекундах)],
        qs.total_logical_reads AS [Общее количество логических операций чтения]
    FROM
        sys.dm_exec_query_stats AS qs
        CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
    ORDER BY
        qs.creation_time DESC;

Детальный ответ

Как посмотреть историю запросов MS SQL

MS SQL Server предлагает инструменты, которые позволяют просматривать историю выполненных запросов. В этой статье я расскажу о двух основных способах, которые вы можете использовать, чтобы получить доступ к истории запросов в MS SQL.

1. Использование SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) - это интегрированная среда разработки для работы с MS SQL Server. Она предоставляет широкие возможности для администрирования баз данных, включая просмотр истории запросов.

Чтобы посмотреть историю запросов с помощью SSMS, выполните следующие шаги:

  1. Откройте SQL Server Management Studio и подключитесь к серверу базы данных.
  2. В верхней панели навигации выберите пункт меню "Вид" и перейдите в "SQL Server журналы".
  3. В появившемся окне выберите "Журнал запросов".
  4. Выберите период, за который вы хотите просмотреть историю запросов, например, "Последний час" или "Все журналы".
  5. Нажмите кнопку "Просмотреть", чтобы отобразить историю запросов.

SSMS отобразит список выполненных запросов в выбранном периоде, включая текст запросов, время выполнения и другую полезную информацию.

2. Использование системного каталога MS SQL

Второй способ просмотра истории запросов в MS SQL - использование системного каталога. MS SQL хранит информацию о выполненных запросах в системной таблице "sys.dm_exec_query_stats". Вы можете написать SQL-запрос, чтобы получить доступ к этой таблице и получить всю необходимую информацию.

Ниже приведен пример SQL-запроса, который возвращает историю последних 10 выполненных запросов в базе данных:


SELECT TOP 10
    qs.creation_time,
    SUBSTRING(st.text, (qs.statement_start_offset/2)+1, ((CASE WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), st.text)) * 2 ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) AS statement_text,
    qs.total_logical_reads,
    qs.total_elapsed_time
FROM
    sys.dm_exec_query_stats qs
CROSS APPLY
    sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY
    qs.creation_time DESC;

Этот запрос возвращает следующую информацию для каждого выполненного запроса: время создания запроса, текст запроса, количество логических операций чтения и общее время выполнения запроса.

Заключение

Просмотр истории запросов в MS SQL может быть полезным для отладки и оптимизации вашей базы данных. Вы можете использовать SQL Server Management Studio или написать SQL-запрос для получения доступа к истории запросов в системном каталоге. Оба способа предоставляют информацию, которая может помочь вам в понимании и улучшении производительности вашей базы данных.

Видео по теме

Александр Денисов. MS SQL Server: изучаем планы запросов

SQL поиск. Как найти запись в базе данных с помощью SQL запроса

Как читать план запроса в SQL Server

Похожие статьи:

Как посмотреть историю запросов MS SQL: простой способ их отслеживания