我們正在運行windows 2008服務器IIS7 .NET 4.網站。.net 4連接到SQL服務器打開tcp端口問題
問題描述: IIS停止響應,因爲SQL服務器已打開數百個tcp連接。我們運行了一個端口掃描器,可以看到它們來自本地IP地址。我們還有Profiler也在運行,但我們無法找到一種方法來確定哪些命令或過程打開了未正確關閉的連接。
SQL連接似乎使用「using」語句正確編碼。在任何例外情況下,我們都會檢查連接狀態。隨着游泳池或關閉它沒有任何區別。殺死連接並重新啓動iis可以清除問題。這是一個生產服務器,因此很難調試。我嘗試了各種工具,但我們無法將tcp連接重新連接到源代碼。所有的連接都有相同的時間戳,這是奇怪的。我們已經在Beta服務器上進行了調試,並顯示了所有異常並未發現任何異常。
我想建議從哪裏開始,代碼被繼承,網站很忙。
連接字符串是:
<add key="ConnectionStringSearch"
value="pooling=false;Connection Lifetime=90;Password=;Connect Timeout=999;
Persist Security Info=True;User ID=;Initial Catalog;Data Source=2;
Network Library=DBMSSOCN"/>
你能發佈你的連接字符串嗎?你也說「使用」正在使用,但包括DataReaders嗎? – 2011-12-14 19:15:25
對不起,讓我澄清一下執行SQL連接的代碼塊是用ms指定的程序調用SQL服務器的。是數據讀取器。 – user974308 2011-12-14 19:16:46