首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000/2005 共存環境下的網路連線錯誤排查:埠號衝突、外掛程式、SP4 補丁與連線字串陷阱

     編輯:關於SqlServer

同一台伺服器先裝 SQL Server 2000 再裝 2005,導致 2000 埠號被改、2005 遠端連線失敗、IIS 連線字串錯誤等連串問題。本文彙整 5 大排查面向與解決步驟,含圖解操作,適用於雙版本共存或遷移過渡期環境。

錯誤現象對照

  • SQL 2000 連線:Named Pipes Provider, error: 40 - 無法開啟連線
  • SQL 2005 連線:在預設設定下 SQL Server 不允許遠端連線 (provider: Named Pipes, error: 40)

解決方案 1:SQL 2005 表面區域配置 — 啟用 TCP/IP 與 Named Pipes

  1. 開始 → 程式集 → Microsoft SQL Server 2005 → SQL Server 2005 表面區域配置工具。
  2. 選「服務與連線的表面區域配置」→ 展開「Database Engine」→「遠端連線」。
  3. 選 「本機和遠端連線」** → 勾選 TCP/IP 與 Named Pipes → 套用。
  4. 同視窗「服務」→ 停止 → 啟動 MSSQLSERVER 服務生效。

表面區域配置遠端連線

解決方案 2:連線字串 Data Source 用伺服器名稱,勿用 IP 或 (local)

錯誤範例:Data Source=192.168.1.100 或 Data Source=.
正確範例:Data Source=MyServerName (NetBIOS 名稱) 或 Data Source=MyServerName\InstanceName (具名執行個體)。
原因:雙版本共存時,IP/本地別名易導致協定協商混淆,伺服器名稱經由 Browser 服務解析最穩定。

解決方案 3:IIS 移除預設連線字串 (machine.config / web.config 遺留)

裝 SQL 2005 後,IIS 機器層級預設連線字串指向 2005,導致 2000 應用讀取錯誤字串。

  1. 「我的電腦」右鍵「管理」→ 「Internet Information Services (IIS) 管理員」。
  2. 預設網站右鍵「屬性」→ 「ASP.NET」分頁 → 選正確版本 → 「編輯設定」與「編輯全域設定」。
  3. 移除 connectionStrings 區段中遺留的預設字串 (紅框處)。

IIS 編輯全域設定

移除預設連線字串

解決方案 4:SQL 2000 必裝 SP4 補丁 (Win2003 環境強制)

日誌提示:
您執行的 Microsoft SQL Server 2000 版本...與 Windows Server 2003 使用時存在已知安全弱點。TCP/IP 和 UDP 網路連接埠被禁用。需安裝 SP4 或最新 Service Pack。

行動:下載 SQL2000-KB884525-SP4-x86-CHS.exe 安裝,重啟服務,TCP 1433/UDP 1434 即恢復監聽。

解決方案 5:SQL 2000 TCP 埠號被 2005 竄改 — 改回 1433

現象:SQL 2000 原埠 1433 被改為 1058 (或其他)。

  1. 開始 → 程式集 → Microsoft SQL Server → 伺服器網路公用程式。
  2. 選「TCP/IP」→ 「屬性」→ 「預設連接埠」改為 1433 → 確定。
  3. 重啟 SQL 2000 服務 (MSSQLSERVER)。

伺服器網路公用程式 TCP/IP 屬性

設定預設埠 1433

綜合驗證步驟

  1. SQL 2000:本機查詢分析器連 ServerName 成功 → 遠端 Telnet IP 1433 成功。
  2. SQL 2005:Configuration Manager 協定全開、Browser 啟動、防火牆例外雙檔 → 遠端 SSMS 連 ServerName\Instance 成功。
  3. IIS 應用:連線字串統一用 ServerName 或 ServerName\Instance,移除 machine.config 殘留字串。

遷移建議

長期共存維護成本高,建議規劃 資料庫遷移至單一版本 (2008 R2/2012+),利用 兼容性等級 讓舊應用無縫運行,徹底消除埠號、協定、Browser、補丁等交叉干擾。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved