Ответ 1
Это мой второй ответ, я неправильно понял вопрос, когда написал первый.
Почему вы делаете set @p1=10
? Вы не должны устанавливать эту переменную. попробуйте удалить его
Я запускаю профилировщик SQL, и я хочу запустить некоторые из запросов в анализаторе запросов, но получаю сообщение об ошибке "SQL Server: не удалось найти подготовленный оператор с дескриптором x".
Любые идеи?
Это SQL, который я скопировал из профилировщика:
declare @p1 int
set @p1=10
exec sp_prepare @p1 output,N'@P0 int,@P1 nvarchar(4000),@P2 datetime,@P3 datetime,@P4 datetime,@P5 datetime,@P6 datetime,@P7 datetime',N'SELECT * FROM SCHEDULE WITH (NOLOCK) WHERE RoomNo= @P0 AND STATUS = @P1 AND ( (EndTimeDT <= @P2 AND EndTimeDT > @P3 ) OR (StartTimeDT >= @P4 AND StartTimeDT < @P5 ) OR (StartTimeDT <= @P6 AND EndTimeDT > @P7 ) )',1
select @p1
go
exec sp_execute 10,19,N'A','2012-03-22 16:30:00','2012-03-22 16:00:00','2012-03-22 16:00:00','2012-03-22 16:30:00','2012-03-22 16:00:00','2012-03-22 16:30:00'
go
Это мой второй ответ, я неправильно понял вопрос, когда написал первый.
Почему вы делаете set @p1=10
? Вы не должны устанавливать эту переменную. попробуйте удалить его
Вы должны использовать RPC:Starting
запросы не RPC:Completed
В профилировщике вы обычно видите RPC:Starting
и RPC:Completed
. Вывод, показанный в RPC:Staring
, - это то, что вам нужно выбрать, RPC:Completed
будет включать выходные значения, которые не были переданы от клиента.
Если вы используете RPC:Completed
, вы должны удалить SET set @p1=10
запросы для работы
Кажется, вам нужно изменить текст профайлера, если вы хотите запустить его в анализаторе запросов.
declare @p1 int
exec sp_prepare @p1 output,N'@P0 int,@P1 nvarchar(4000),@P2 datetime,@P3 datetime,@P4 datetime,@P5 datetime,@P6 datetime,@P7 datetime',N'SELECT * FROM SCHEDULE WITH (NOLOCK) WHERE RoomNo= @P0 AND STATUS = @P1 AND ( (EndTimeDT <= @P2 AND EndTimeDT > @P3 ) OR (StartTimeDT >= @P4 AND StartTimeDT < @P5 ) OR (StartTimeDT <= @P6 AND EndTimeDT > @P7 ) )',1
select @p1
exec sp_execute @p1,19,N'A','2012-03-22 16:30:00','2012-03-22 16:00:00','2012-03-22 16:00:00','2012-03-22 16:30:00','2012-03-22 16:00:00','2012-03-22 16:30:00'
go