我的數據庫始終設置爲多用戶模式,我的連接字符串有選項mars = true
,但在檢查數據庫錯誤日誌後,我經常可以看到此錯誤消息SQL Server數據庫設置多用戶模式並返回錯誤單用戶模式
服務器將丟棄連接,這是因爲客戶端驅動程序發送了多個請求而會話處於單用戶模式。當客戶端發送重置連接的請求時,會話中仍有批處理仍在運行,或者客戶端在會話重置連接時發送請求時發生此錯誤。請聯繫客戶端驅動程序供應商。
我不知道是什麼我忘了更改激活多用戶模式....我嘗試激活多用戶模式,因爲是一個最好的建議,由其他用戶讀取一些後後
爲什麼我的會話處於單用戶模式?
有些朋友建議使用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用戶模式,我得到
SELECT user_access_desc
FROM sys.databases
WHERE name = 'MyDatabase'
回報MULTI_USER
我使用C#,實體框架4.X,SQL Server 2008中
感謝您的關注
Asynchronous Processing = True http://dba.stackexchange.com/questions/66200/how-to-troubleshoot-client-driver-has-sent-multiple-requests-while會話 – mxix 2014-10-27 15:51:53
這些是兩個完全分開的東西 - MARS是關於多個活動結果集,例如多個閱讀器(來自* single *連接)一次。多用戶模式意味着可以對數據庫進行多個連接。而且你需要**多用戶模式 - 否則你的數據庫就沒用了! – 2014-10-27 15:59:46
mixm - 我會嘗試主動異步處理thx。 marc_s - 你對MARS是對的,是的我的數據庫需要多用戶模式謝謝你的解釋 – tierrarara 2014-10-28 14:44:28