3

我正在尝试使用 SQL 分析器和调优向导来调查我的 SQL 2008 R2 数据库中的索引使用情况。应用程序使用 ODBC 连接到数据库。数据库没有存储过程,所有数据都是使用 SQL 语句访问的。探查器将语句显示为

declare @p1 int
set @p1=10234
exec sp_prepexec @p1 output,N'@P1 varchar(max),@P2 varchar(max),@P3 int,@P4 int',
N'SELECT  p.PaymentID from Payment where DivisionCode = @P1 and [...],','DM','A',1,1
select @p1

调优向导将分析数据并给出警告

49% of consumed workload has syntax errors. Check tuning log 

日志显示原因

事件不引用任何表。

或者

[Microsoft][SQL Server Native Client 10.0][SQL Server]无效的对象名称“付款”。

我需要使用哪些设置来让调整向导了解 sp_prepexec 查询?我必须对跟踪文件进行哪些更改才能使其可供调整向导使用?

谢谢。

4

1 回答 1

3

我能够让我的工作!像这样简单地注释掉set语句:

declare @p1 int;
--set @p1=9
exec sp_prepexec @p1 output,N'@p0 bit,@p1 varchar(8000),@p2 bit',N'select blah from blah where @p0=1 and blah.LastName=@p1',@p0=0,@p1='Kumar'
select @p1
于 2014-11-10T17:52:13.073 回答