Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
Здравствуйте!

Подскажите пожалуйста, есть ли возможность определить запросом в MS SQL Server 2008 R2 какие запросы выполняются с использованием плана запроса, в состав которого входит оператор Lazy Spool?

Спасибо.
20 фев 17, 15:50    [20229255]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8823
Alex_MA,

sys.dm_exec_cached_plans

в справке подробности.
20 фев 17, 16:47    [20229751]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
Владислав Колосов
Alex_MA,

sys.dm_exec_cached_plans

в справке подробности.

а с какой еще таблицей его join чтобы получить эту информацию? или применить какую то встроенную процедуру?
20 фев 17, 17:12    [20229899]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Alex_MA,

т.е. хелп открывать лень...

автор
SELECT * FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle);

в плане ищите Lazy Spool
20 фев 17, 17:20    [20229941]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
TaPaK
Alex_MA,

т.е. хелп открывать лень...

автор
SELECT * FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle);

в плане ищите Lazy Spool


что и говорить....
Спасибо большое.
21 фев 17, 07:48    [20231462]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
Здравствуйте!
А подскажите как найти конкретный оператор в результате запроса.
Я пробовал функции exist() и value(), но что то не получается.

Спасибо.
21 фев 17, 11:09    [20232162]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Alex_MA
Я пробовал функции exist() и value(), но что то не получается.
Как именно пробовали - тайна?
21 фев 17, 11:26    [20232265]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
invm,

Например, так:
SELECT *  FROM sys.dm_exec_cached_plans cp 
CROSS APPLY sys.dm_exec_query_plan (cp.plan_handle)
WHERE query_plan.exist('lazy')
21 фев 17, 11:33    [20232317]     Ответить | Цитировать Сообщить модератору
 Re: Определение запросов (у которых есть Lazy Spool)  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
Все разобрался.
SELECT p.* 
FROM 
sys.dm_exec_cached_plans cp 
CROSS apply sys.dm_exec_text_query_plan(cp.plan_handle,0,-1) p 
CROSS apply sys.dm_exec_sql_text(cp.plan_handle) AS q 
where p.query_plan like '%lazy%'


Большое всем спасибо.
21 фев 17, 11:40    [20232340]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить