2012年12月2日 星期日

SQL Server - 初使連線過慢問題處理

        最近接到一個Case,客戶表示他有多台電腦,但是有特定的電腦連線到SQL Server時都會特別的久,但是其他的電腦都不會,而且透過電腦名稱(Host Name)或IP結果都相同,而且當下觀察Server與Client端的資源與效能都很正常,所以當下猜想,或許與網路有相關,這個是問題最後是透過網路封包分析後才找出問題並解決的,所以在此將這個案例分享出來。

        由於網路的部份可能牽涉會有很多的層面,所以進一步與客戶確認,如是否為同一網址,防火牆的設定等,最後決定透過網路封包分析的方式進行確認,所以我就請客戶透過Netmon的程式進行兩邊封包的收集,封包分析如下:

PS:netmon是Microsoft所推出的一套免費的封包捉取與分析的工具,大家可以透過下列的網址進行下載,也請大家多多利用。

<br>

下載連結:
Microsoft Network Monitor 3.4
http://www.microsoft.com/en-us/download/details.aspx?id=4865


問題分析:
1、在有問題的電腦封包上發生在一開始的初使連線都需要等待5秒的時間,才可以與Server建立連線。

2、在正常電腦上的封包,發現很快的就可以建立連線。

3、在Server上的封包看到也是相同需要5秒的時間才可以正常的連線。

4、確認主機上的效能資訊,看起來也是正常。


解決方式 :
根據上述的分析,與網路Team的同事討論後,懷疑可能是系統網路中的一個New Feature所造成,後來嘗試下列的步驟將此功能關閉後,問題就解決了。

Set the EnableTCPA registry entry to "0" on the SQL Server computer.
To do this, follow these steps:
1.      Click Start, click Run, type regedit, and then click OK.
2.      Locate the EnableTCPA registry entry under the following registry subkey:
         HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3.      Right-click EnableTCPA, and then click Modify.
4.      In the Value data box, type 0, and then click OK.
5.      Exit Registry Editor.
6.      Restart Computer.


參考知識文件:
A Windows Server 2003-based computer responds slowly to RDP connections or to SMB connections that are made from a Windows Vista-based computer
http://support.microsoft.com/kb/947773


關鍵字:SQL ServerNetwork MonitorNetwork PacketSQL Server Connectity

沒有留言:

張貼留言