使用SQL Server的朋友可能知道當(dāng)我們連接到 SQL Server 7.0 或 SQL Server 2000 數(shù)據(jù)庫時(shí)所花的時(shí)間可能比預(yù)期的要長(zhǎng)。在某些報(bào)告的情況中,其表現(xiàn)為向客戶端應(yīng)用程序報(bào)告“超時(shí)已過期”錯(cuò)誤,而且連接嘗試失敗。 本文主要給大家介紹該錯(cuò)誤現(xiàn)象和原因及解決方案。
錯(cuò)誤現(xiàn)象:
當(dāng)安裝 Microsoft 數(shù)據(jù)訪問組件 (MDAC) 版本 2.6 后,每次嘗試使用 IP 地址(而不是服務(wù)器名稱)連接到 SQL Server 7.0 或 SQL Server 2000 數(shù)據(jù)庫時(shí)所花的時(shí)間可能比預(yù)期的要長(zhǎng)。在某些報(bào)告的情況中,其表現(xiàn)為向客戶端應(yīng)用程序報(bào)告“超時(shí)已過期”錯(cuò)誤,而且連接嘗試失敗。
請(qǐng)注意,如果您使用的是映射到 TCP/IP 地址的服務(wù)器別名,則可能會(huì)出現(xiàn)此錯(cuò)誤。
如果安裝了 MDAC 2.5 或 2.1,則不會(huì)出現(xiàn)此問題。
原因:
SQL Server 網(wǎng)絡(luò)庫的 Dbnetlib.dll 的 MDAC 2.6 版本嘗試使用反向搜索來確定 IP 地址的主機(jī)名。如果客戶端計(jì)算機(jī)具有較慢的域名服務(wù) (DNS) 服務(wù)器或者沒有 DNS 服務(wù)器,并且計(jì)算機(jī)上的本地 HOSTS 或 LMHOSTS 文件不包含 SQL Server 的 IP 地址的主機(jī)名,則反向搜索將在五秒鐘后超時(shí)。
請(qǐng)注意,這只是 SQL Server 驅(qū)動(dòng)程序代碼內(nèi)部的超時(shí),它可能會(huì)在客戶端應(yīng)用程序中生成超時(shí)錯(cuò)誤,也可能不會(huì)。連接嘗試可能會(huì)成功,但應(yīng)用程序所建立的每一個(gè)新連接將出現(xiàn)相同的五秒鐘延遲。
解決方案:
若要解決此問題,請(qǐng)獲取最新的 Microsoft SQL Server 2000 Service Pack。有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫中相應(yīng)的文章:
如何獲取最新的 SQL Server 2000 Service Pack :(http://support.microsoft.com/kb/290211/):
要解決此問題,請(qǐng)獲取最新的 Microsoft Data Access Components 2.6 Service Pack。有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫中相應(yīng)的文章:
如何獲取最新的 MDAC 2.6 Service Pack (http://support.microsoft.com/kb/300635/)
修復(fù)程序:
注意:以下修復(fù)程序是在 SQL Server 2000 Service Pack 2 之前創(chuàng)建的。
該修復(fù)程序的英文版應(yīng)具有以下或更新的文件屬性:
日期 版本 大小 文件名
平臺(tái) -----19-JUN-2001
2000.080.0304.00 86,082 Dbnetlib.dll x86
替代方法:
若要解決此問題,請(qǐng)?zhí)峁┮恍┛煽康姆椒▉韴?zhí)行 SQL Server 服務(wù)器 IP 地址的反向搜索,使用 SQL Server 計(jì)算機(jī)名(而不是 IP 地址),或者應(yīng)用此修復(fù)程序。
若要使用 HOSTS 文件或 LMHOSTS,請(qǐng)將 SQL Server 服務(wù)器的 TCP/IP 地址放在行的開頭,后面接幾個(gè)空格,然后是 SQL Server 服務(wù)器的計(jì)算機(jī)名。例如:123.123.123.123 myservername
對(duì)于運(yùn)行 Microsoft Windows NT 和 Microsoft Windows 2000 的客戶機(jī),HOSTS 或 LMHOSTS 文件位于 System32DriversEtc 目錄;對(duì)于運(yùn)行 Microsoft Windows ME、Microsoft Windows 98 或 Microsoft Windows 95 的客戶機(jī),HOSTS 或 LMHOSTS 文件位于 Windows 目錄。