Sql-Server

通過防火牆從 IIS 到 SQL Server 2005 的本機客戶端連接需要 30 多秒

  • February 11, 2010

我有一個通過防火牆連接到 SQL 2005 的 Web 伺服器(IIS7/.NET 3.5 本機客戶端)。

伺服器位於一個集群上,其命名實例配置為響應靜態埠 1089。

TCP 埠 1433 和 1089 在防火牆上是開放的,UDP 埠 1434 也是開放的。

建立連接後,設置速度非常快(每次查詢約 10 毫秒),但是設置第一個連接需要 37 秒!

正在使用的連接字元串如下:

數據源=1.2.3.4,1098;網路庫=DBMSSOCN;初始目錄=MyDatabase;使用者id=my_user_id;密碼=secret_stuff

Web 伺服器和 sql 伺服器在不同的域上。但是,我使用的是 SQL 身份驗證。

如果我從普通客戶端機器連接,一切都會像魅力一樣。

有沒有人遇到過這個問題?我該如何解決它或至少進一步調查這個問題?

看起來它出於某種原因試圖在 1.2.3.4 地址上執行反向 DNS,可能是 IIS 設置,但也可能是其他原因。如果您c:\windows\system32\drivers\etc\hosts為 SQL 伺服器名稱添加主機條目,是否會有所不同?

如果這沒有幫助,或者您只是想弄清楚在這種情況下發生了什麼,通常您應該使用網路\數據包分析器。Windows 網路監視器WireShark都可以解決您的問題。這些工具不是很重要的工具,但是如果您擷取一個顯示您的問題的會話,您應該能夠看到哪些流量立即出現在它們長時間延遲之前,並且如果運氣好的話,您可以將根本原因歸零。

引用自:https://serverfault.com/questions/111862