1

在存儲過程和SQL Server 2008 SP1中使用實體框架4 ...運行SQL Server Profiler(TSQL_SPs模板)時,顯示我的存儲過程調用及其語句的行表示這發生在DatabaseID = 1(Master)中,但它實際上發生在我的應用程序數據庫中。程序正確執行並返回數據,並且它們只存在於我的應用程序數據庫中,那麼爲什麼Profiler將這些行標記爲Master?這是一個在Profiler中的錯誤?爲什麼SQL 2008 Profiler指出從EF4運行的存儲過程在Master中?

請注意,針對SQL 2000實例運行相同的代碼,Profiler會正確顯示應用程序的數據庫ID。

UPDATE:現在我已經測試這上的SQL Server 2008 R2的全新安裝,它仍然顯示此,就好像它在主發生。

更新2:這已經在登錄到https://connect.microsoft.com/SQLServer/feedback/details/572246/profiler-reports-ef4-queries-as-occurring-in-master連接。

+0

仍然沒有修復該錯誤? – Sascha 2011-12-19 14:16:19

回答

3

包含youir connectionstring選項'MultipleActiveResultSets = True'?如果是的話,嘗試刪除它,看看SQL分析器。

+0

是的,將連接字符串中的* MultipleActiveResultSets *選項從默認的True更改爲False,可以使Profiler正確報告在應用程序數據庫中執行的查詢。 聽起來像是一個bug,但我可以接受這種解決方法。 **謝謝!!!** – AjarnMark 2010-08-10 06:22:32

相關問題