Я пытаюсь параметризовать SQL в форме nvarchar и вывести план запроса. Это то, что я до сих пор:
DECLARE @strSQL AS NVARCHAR(30) = N'select * from table_name'
DECLARE @vbrSQL VARBINARY(30)
SET @vbrSQL = CAST(@strSQL AS VARBINARY(30))
SELECT qp.query_plan FROM (SELECT @vbrSQL AS plan_handle) ph
CROSS APPLY sys.dm_exec_query_plan( ph.plan_handle ) qp
Но когда я выполняю запрос, я получаю следующее сообщение:
Msg 569, Level 16, State 5, Line 25
The handle that was passed to dm_exec_query_plan was invalid.
Я также попытался установить @vbrSQL следующим образом:
SET @pvbrSQL = CONVERT(VARBINARY(30),@pstrSQL,1)
Но я получаю следующее сообщение:
Msg 8114, Level 16, State 5, Line 24
Error converting data type nvarchar to varbinary.
Возможно ли это? Любая помощь приветствуется. Спасибо!