現象
- 環境:Win2003 + SQL 2005 默認安裝
- SAP BusinessOne 客戶端安裝時輸入正確用戶/密碼仍報「連接失敗」或「用戶名口令不對」
telnet server 1433 不通,netstat -an 無 1433 監聽
- 對比:同網段 SQL 2000 機器 1433 正常開放
根因
SQL Server 2005 **默認禁用 TCP/IP 協議**,且默認端口 1433 關閉(僅啟用 Shared Memory 本機協議)。
修復步驟(配置管理器)
- 開始 → Microsoft SQL Server 2005 → 配置工具 → SQL Server 配置管理器
- 左側:SQL Server 2005 網絡配置 → MSSQLSERVER 的協議(或具體實例名)
- 右側:TCP/IP → 右鍵 啟用
- 雙擊 TCP/IP → IP 地址 標籤 → 拉到最底 IPAll → TCP Port 填 1433(清空 TCP Dynamic Ports)
- 可選:Named Pipes 也啟用(兼容舊應用)
- 重啟 SQL Server 服務(配置管理器 → SQL Server 2005 服務 → 右鍵重新啟動)
驗證
- 本機:
telnet localhost 1433
- 遠程:
telnet 1433
- SAP BusinessOne 客戶端安裝通過
補充:外圍應用配置器等效操作
SQL Server 外圍應用配置器 → 服務和連接 → Database Engine → 遠程連接 → 「同時使用 TCP/IP 和 Named Pipes」 → 重啟服務。
本質上修改相同註冊表/配置,配置管理器更直觀、持久化更可靠。
防火牆提醒
- Windows 防火牆:入站規則允許 TCP 1433
- 硬件防火牆:同樣放行 1433
- 命名實例:還需啟用 SQL Server Browser 服務(UDP 1434)
教訓
SQL 2005+ **默認安全策略:網絡協議最小化啟用**。部署新實例後,**第一件事**就是配置管理器啟用 TCP/IP、固定 1433 端口、重啟服務、驗證連通性。不要等應用報錯再排查。