我試圖調試SSRS報告顯示一些可怕的結果。我正在使用sql profiler我已經抓住了正在運行的確切查詢,這是使用exec sp_executesql執行的。sp_executesql從視圖返回不同的結果比直接運行查詢
查詢從視圖返回結果。
如果我運行包含sp_executesql的查詢,我會得到一組結果。 如果我抓住嵌套在內部的查詢並自行運行它,我會得到一組不同的結果。
我不知道這是如何可能的。查詢是相同的,我的印象是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'
如果我跑,我得到一個結果集。
然後,如果我運行:
SELECT FirstName, LastName, DateOfBirth FROM ViewName WHERE
DateOfBirth >= '2010-07-17 00:00:00:000' AND
DateOfBirth <= '2010-07-17 23:59:59:000'
我得到一個稍微不同的結果集。
任何可能性視圖出現兩次與不同的所有者? – Sparky
不......我也放棄了這個觀點,並在有任何古怪的情況下重新創建它。 – ClickPOSAust
和實際的代碼? – gbn