Можно ли использовать профилировщик SQL 2005 Server для отслеживания запросов, которые произошли, например, 6 часов назад? Или трассировка используется только в реальном времени? Я пытаюсь найти способ просмотреть старые запросы TSQL. Возможно ли это с SQL 2005?
Простой вопрос, простой ответ: Нет. Это в реальном времени.
Трассировка выполняется только в реальном времени, хотя, если вы хотите провести некоторый аудит в своей базе данных в будущем, вы можете настроить триггеры. http://msdn.microsoft.com/en-us/library/ms189799.aspx
Профайлер фиксирует события в реальном времени, поэтому прошлые события исчезают.
Вы можете получить некоторую прошлую информацию о просмотре кеша процедур, но это не полный журнал запросов:
SELECT [cp].[refcounts]
, [cp].[usecounts]
, [cp].[objtype]
, [st].[dbid]
, [st].[objectid]
, [st].[text]
, [qp].[query_plan]
FROM sys.dm_exec_cached_plans cp
CROSS APPLY sys.dm_exec_sql_text ( cp.plan_handle ) st
CROSS APPLY sys.dm_exec_query_plan ( cp.plan_handle ) qp ;