Добавим к тому, что сказал @Remus Rusanu - тогда достаточно просто записать elapsed_time
в таблицу (если вы знаете дескриптор запроса).
Например:
CREATE TABLE #times (
MS BIGINT
);
INSERT INTO #times
SELECT total_elapsed_time
FROM sys.dm_exec_query_stats
WHERE sql_handle = 0x02000000DEE9FC09E552D1E33008EED4E8732B21E171EC160000000000000000000000000000000000000000;
Если total_elapsed_time
возвращает только несколько строк (то есть только несколько кэшированных запросов), вы можете посмотреть на столбец total_rows
и найти дескриптор с количеством строк, возвращаемых запросами, которые вы хотите синхронизировать , Затем передайте дескриптор этому DMO, чтобы увидеть текст запроса и, если он соответствует запросу, который вы хотите установить по времени:
SELECT *
FROM sys.dm_exec_sql_text (0x02000000DEE9FC09E552D1E33008EED4E8732B21E171EC160000000000000000000000000000000000000000) ;
(Надеюсь, кто-то еще добавит к этому и расскажет нам более надежный способ получить query_handle
для конкретного запроса. Я не могу сейчас его исследовать.)