我的数据库始终设置为多用户模式,我的连接字符串有选项mars = true
,但在检查数据库错误日志后,我经常可以看到此错误消息
服务器将断开连接,因为客户端驱动程序已发送多个请求,而会话处于单用户模式。当客户端在会话中仍在运行批处理时发送重置连接的请求时,或者在会话重置连接时客户端发送请求时,会发生此错误。请联系客户端驱动程序供应商。
我不知道忘记更改激活多用户模式的内容....我尝试激活多用户模式,因为在阅读其他用户发布的帖子后这是最好的推荐
为什么我的会话处于单用户模式?
有些朋友建议使用mars = false
并避免使用多用户模式
这是个好主意吗?
连接字符串
<add name="BaseEntities"
connectionString="metadata=res://*/BaseModel.csdl|res://*/WMSModel.ssdl|res://*/BaseModel.msl;

provider=System.Data.SqlClient;provider connection string="Data Source=MyServer;
 Initial Catalog=MyDatabase;Persist Security Info=True;User ID=myuser;Password=mypassword;

MultipleActiveResultSets=True;Application Name=EntityFramework""
providerName="System.Data.EntityClient" />
检查db user-mode后我得到
SELECT user_access_desc
FROM sys.databases
WHERE name = 'MyDatabase'
返回MULTI_USER
我使用C#,Entity Framework 4.X,SQL Server 2008
感谢您的关注
答案 0 :(得分:0)
我知道设置此选项的两种方法: 在SQL管理管理员选择数据库 - &gt;选项 - &gt;将Mars设置为false
连接字符串中的添加MultiActiveResultSet = false
谢谢你们的帮助 我的问题解决了