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

相关问题