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

Откуда:
Сообщений: 105
Добрый день.
Вопрос такой:
Запрос с параметрами типа:
select * from table1 where id=@par1
как мне узнать с каким @par1 запустился работает этот запрос? Если это вообще возможно.
Спасибо.
4 сен 13, 14:30    [14794318]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
конечно возможно

select @par1

ВОАЛЯ, я думаю врятли кто то поймет вашего вопроса
4 сен 13, 14:34    [14794361]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
STsarionov
Member

Откуда:
Сообщений: 105
задам сложнее:

смотрю запросы на сервере, все они идут от ERP системы, следовательно параметризованы, так вот мне интересны значения этих параметров вытащить, чтобы потом можно было самому этот запрос использовать с конкретными значениями для тестов.

допустим текст запросов получаю вот так:

select session_id,requested_memory_kb,required_memory_kb,granted_memory_kb,query_cost, b.[text], c.query_plan
from sys.dm_exec_query_memory_grants a
cross apply sys.dm_exec_sql_text(a.sql_handle) b
cross apply sys.dm_exec_query_plan(a.plan_handle) c
where session_id >50
order by 4 desc
4 сен 13, 14:38    [14794402]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
select [@par1]=@par1,* from table1 where id=@par1
?
4 сен 13, 14:38    [14794403]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
waszkiewicz
Member

Откуда:
Сообщений: 1086
STsarionov,
Профайлер не предлагать?
4 сен 13, 14:45    [14794461]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
STsarionov
смотрю запросы на сервере,


как/чем? слово профайлер уже озвучили?
4 сен 13, 15:20    [14794705]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
Glory
Member

Откуда:
Сообщений: 104760
STsarionov
смотрю запросы на сервере, все они идут от ERP системы, следовательно параметризованы,

Следовательно для присвоения серверной переменной выполняется какая-то серверная команда. Логично ?
4 сен 13, 15:21    [14794716]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
STsarionov
Member

Откуда:
Сообщений: 105
профайлер не покажет, ибо там все в виде:

declare @p2 int
set @p2=180274485
declare @p3 int
set @p3=16
declare @p4 int
set @p4=1
declare @p5 int
set @p5=5
exec sp_cursorexecute 1073741901,@p2 output,@p3 output,@p4 output,@p5 output
select @p2, @p3, @p4, @p5

можно конечно брать быстро ловить ID курсора и в профайлере искать какие параметры для него были, но неужели нет чего попроще, ведь запрос выполняется с конкретными значениями параметров.
4 сен 13, 15:36    [14794827]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
STsarionov
Member

Откуда:
Сообщений: 105
нашел:) Профайлером разобрал Dashboard для SQL Server 2012
может кому понадобится:

declare @plan_xml xml
;WITH XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/showplan' AS sp)
SELECT
parameter_list.param_node.value('(./@Column)[1]', 'nvarchar(128)') as param_name,
parameter_list.param_node.value('(./@ParameterCompiledValue)[1]', 'nvarchar(max)') as param_compiled_value
from (select @plan_xml as xml_showplan) as t
outer apply t.xml_showplan.nodes('//sp:ParameterList/sp:ColumnReference') as parameter_list (param_node)

возвращает параметры исполнения конкретно указанного плана запроса.
4 сен 13, 16:17    [14795145]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
нашел:) Профайлером разобрал Dashboard для SQL Server 2012
может кому понадобится:

а можно поподробнее, что такое Dashboard ? спасибо заранее
4 сен 13, 16:21    [14795180]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
нашел:) Профайлером разобрал Dashboard для SQL Server 2012
может кому понадобится:

а можно поподробнее, что такое Dashboard ? спасибо заранее
4 сен 13, 16:23    [14795197]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
Гость333
Member

Откуда:
Сообщений: 3683
STsarionov
возвращает параметры исполнения конкретно указанного плана запроса.

Ну вы в курсе, что "параметры плана запроса" — это не то же самое, что "параметры конкретного запроса"?
4 сен 13, 16:27    [14795240]     Ответить | Цитировать Сообщить модератору
 Re: узнать параметры запуска  [new]
STsarionov
Member

Откуда:
Сообщений: 105
Гость333
STsarionov
возвращает параметры исполнения конкретно указанного плана запроса.

Ну вы в курсе, что "параметры плана запроса" — это не то же самое, что "параметры конкретного запроса"?


да, пришлось оказаться в курсе. Но хотя бы так, все равно рад:)

а по поводу дашборда: http://www.smattie.com/2012/08/26/new-tool-microsoft-sql-server-2012-performance-dashboard-reports/ тут можно поглядеть, удобная штука.
4 сен 13, 16:39    [14795333]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить