SQL Server: не удалось найти подготовленный оператор с дескриптором 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

Ответы

Ответ 1

Это мой второй ответ, я неправильно понял вопрос, когда написал первый.

Почему вы делаете set @p1=10? Вы не должны устанавливать эту переменную. попробуйте удалить его

Ответ 2

Вы должны использовать RPC:Starting запросы не RPC:Completed

В профилировщике вы обычно видите RPC:Starting и RPC:Completed. Вывод, показанный в RPC:Staring, - это то, что вам нужно выбрать, RPC:Completed будет включать выходные значения, которые не были переданы от клиента.

Если вы используете RPC:Completed, вы должны удалить SET set @p1=10 запросы для работы

Ответ 3

Кажется, вам нужно изменить текст профайлера, если вы хотите запустить его в анализаторе запросов.

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