首先,我想告訴你,我正在使用的程序已經編譯完成,我無法查看源代碼。SQL Server 2008 R2:在一段時間後拒絕連接
所以,這裏是我的問題:
的應用程序成功打開約31連接到特定的數據庫。 當它試圖打開第32個連接時,所有連接開始關閉,包括之前的31個連接。
說實話,我不知道爲什麼這個應用程序需要打開相同的2-3個表的連接數,但所有的連接都關閉後,在應用程序關閉了。
17時41分38秒004db680 DRIVER = {SQL 服務器}; SERVER = 192.168.1.8:1433; UID =用戶; PWD =密碼; DATABASE =數據庫
17時41分38秒004db680 08001 0000000e [Microsoft] [ODBC SQL Server驅動程序] [DBNETLIB]連接無效。 00000000十七時41分38秒004db680 01000 0000000e [微軟] [ODBC SQL服務器 驅動程序] [DBNETLIB] ConnectionOpen(ParseConnectParams())。 00000000
這是從應用程序輸出的日誌。
一些額外的信息:
- 殘疾SYN攻擊保護,同樣的問題
- 數據庫最大連接數是30K +
如果應用程序是用託管代碼編寫的,則可以嘗試對其進行反編譯。我發現Telerik的[JustDecompile](http://www.telerik.com/products/decompiler.aspx)工作得很好。 – Alexander
您能提供您使用的連接字符串嗎? –
我認爲當第32個連接失敗時,你的應用程序會拋出一個未處理的錯誤,並且它會關閉並首先關閉所有其他連接,所以你的問題是可能來自最大連接達到的第32個連接失敗;)。 –