簡體   English   中英

在連接字符串中使用 IP 時查詢非常慢 SQL

[英]Very slow SQL query when using IP in connection string

我對緩慢的 SQL 查詢感到非常頭疼。 我有兩個連接字符串,如下所示:

ConnectString1 = "Driver={SQL Server};Server=MSSQLSERVER5;Database=SchoolMain;Uid=Admin;Pwd=admin101;"

ConnectString2 = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=Admin;Password=admin101;Initial Catalog=SchoolMain;Data Source=192.168.1.2,1433"

兩者都連接到同一系統上的 SQL 服務器數據庫實例。 第一個使用數據庫實例名稱進行連接,而第二個使用 IP 地址(通過 Internet 連接到系統)和端口號進行連接。

使用ConnectString1的查詢是最先執行的,執行時間不到 2 秒,而使用ConnectString2的查詢非常慢,並且大多數時候返回超時過期錯誤。

我在互聯網上到處搜索,仍然找不到問題所在。 我讀到了關於關閉 LLMNR 協議並在主機文件中添加條目以解決反向 DNS 的信息,按照步驟操作,但它仍然與使用ConnectString2的查詢仍然很慢一樣。

雖然當我將ConnectString2中的 IP 地址從192.168.1.2更改為127.0.0.1時,查詢的運行速度非常快,就像使用ConnectString1一樣。

有沒有辦法將機器上的所有 IP 地址路由到 127.0.0.1 ?

我需要ConnectString2才能工作,查詢將從 LAN 外的其他系統推送到 IP 地址。

注意:我使用的是 SQL 服務器 2008

請幫忙。

這可能發生的主要原因是反向 DNS,這意味着 sql 需要將 IP 轉換為物理地址,這需要時間。

要解決此問題,請使用您的主機文件將地址添加到您的機器,而不是使用主機文件中給出的名稱而不是 IP。

如果您不想修改主機文件,請嘗試查看替代解決方案以啟用默認禁用的 TCP/IP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM