同一台伺服器先裝 SQL Server 2000 再裝 2005,導致 2000 埠號被改、2005 遠端連線失敗、IIS 連線字串錯誤等連串問題。本文彙整 5 大排查面向與解決步驟,含圖解操作,適用於雙版本共存或遷移過渡期環境。
Named Pipes Provider, error: 40 - 無法開啟連線在預設設定下 SQL Server 不允許遠端連線 (provider: Named Pipes, error: 40)
錯誤範例:Data Source=192.168.1.100 或 Data Source=.
正確範例:Data Source=MyServerName (NetBIOS 名稱) 或 Data Source=MyServerName\InstanceName (具名執行個體)。
原因:雙版本共存時,IP/本地別名易導致協定協商混淆,伺服器名稱經由 Browser 服務解析最穩定。
裝 SQL 2005 後,IIS 機器層級預設連線字串指向 2005,導致 2000 應用讀取錯誤字串。
connectionStrings 區段中遺留的預設字串 (紅框處)。

日誌提示:
您執行的 Microsoft SQL Server 2000 版本...與 Windows Server 2003 使用時存在已知安全弱點。TCP/IP 和 UDP 網路連接埠被禁用。需安裝 SP4 或最新 Service Pack。
行動:下載 SQL2000-KB884525-SP4-x86-CHS.exe 安裝,重啟服務,TCP 1433/UDP 1434 即恢復監聽。
現象:SQL 2000 原埠 1433 被改為 1058 (或其他)。


ServerName 成功 → 遠端 Telnet IP 1433 成功。ServerName\Instance 成功。ServerName 或 ServerName\Instance,移除 machine.config 殘留字串。長期共存維護成本高,建議規劃 資料庫遷移至單一版本 (2008 R2/2012+),利用 兼容性等級 讓舊應用無縫運行,徹底消除埠號、協定、Browser、補丁等交叉干擾。