危険な結果を示している SSRS レポートをデバッグしようとしています。私はSQLプロファイラを使用しています。実行中の正確なクエリを取得しました。これは、exec sp_executesqlで実行されます。
クエリはビューから結果を返しています。
sp_executesql を含めてそのままクエリを実行すると、1 セットの結果が得られます。内部にネストされたクエリを取得して単独で実行すると、別の結果セットが得られます。
これがどのように可能かわかりません。クエリは同一であり、sp_executesql は単純にクエリを実行するという印象を受けました。
不足しているものはありますか、またはこれをさらにデバッグするにはどうすればよいですか?
exec 呼び出しは次のようになります。
exec sp_executesql N'SELECT FirstName, LastName, DateOfBirth FROM ViewName WHERE
DateOfBirth >= @pStartDate AND DateOfBirth <= @pEndDate',N'@pStartDate datetime,
@pEndDate datetime',@pDate='2010-07-17 00:00:00:000',@pEndDate=''2010-07-17
23:59:59:000'
それを実行すると、1 セットの結果が得られます。
次に、実行した場合:
SELECT FirstName, LastName, DateOfBirth FROM ViewName WHERE
DateOfBirth >= '2010-07-17 00:00:00:000' AND
DateOfBirth <= '2010-07-17 23:59:59:000'
少し異なる結果が得られます。