Просмотр конкретных выполненных запросов в SQL Server Management Studio? - PullRequest
0 голосов
/ 22 февраля 2012

Продолжение из этого поста - У меня есть еще несколько вопросов, которые, я надеюсь, кто-то может мне помочь с:

  1. Есть ли способ выбрать конкретную базу данных и /или таблица для получения запросов или добавления этого в виде столбца?

  2. В моих запросах есть некоторые переменные, отображаемые как @ P1 или @GUID.Есть ли способ получить данные, которые были вставлены туда?

Я использую только Express, чтобы у меня также нет доступа к SQL Profiler.

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

sys.dm_exec_sql_text имеет столбец dbid, так что вы можете отфильтровать его. Например, я взял запрос из другого ответа и добавил фильтрацию предложения where для запросов master:

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE dest.dbid = DB_ID('master')
ORDER BY deqs.last_execution_time DESC

Обратите внимание, что не все запросы имеют правильный контекст базы данных (или контекст базы данных вообще). Например, если у вас есть запрос, который объединяет две таблицы, которые находятся в разных базах данных, вы увидите только один dbid - он будет или контекстом выполнения, и может быть или не быть одной из баз данных, на которые есть ссылка в запросе. Таким образом, применение фильтра может фактически скрыть интересующие вас запросы.

Вы можете получить параметры, копаясь в XML из других DMO, таких как sys.dm_exec_cached_plans и sys.dm_exec_query_plan. Если у вас уже есть план выполнения для захваченного вами запроса, будет гораздо проще использовать такой инструмент, как SQL Sentry Plan Explorer , чем самостоятельно разбираться с блоками XML.

Отказ от ответственности: я работаю в SQL Sentry, который предоставляет сообществу бесплатный инструмент.

0 голосов
/ 22 февраля 2012

Просто к вашему сведению, вы знаете, что, хотя SQL Express не включает профиль, если у вас есть доступ к нему, вы можете использовать.

...