預設行為與常見錯誤
SQL Server 2005 Express / Developer Edition **預設關閉遠端連線**。嘗試從遠端連線時會收到:
「建立到伺服器的連線時發生錯誤。連接到 SQL Server 2005 時,預設設定不允許遠端連接這個事實可能會導致失敗。」
需完成 **四大面向** 設定才能成功:
- 啟用資料庫引擎遠端連線協定
- 啟用 SQL Server Browser 服務
- Windows 防火牆開放 sqlservr.exe 與 sqlbrowser.exe
- 設定 TCP/IP 固定連接埠(關鍵步驟,常被遺漏)
步驟 1:啟用遠端連線(Surface Area Configuration)
- 開始 → 所有程式 → Microsoft SQL Server 2005 → 設定工具 → SQL Server Surface Area Configuration
- 選擇 Surface Area Configuration for Services and Connections
- 展開 Database Engine → Remote Connections
- 選擇 Local and remote connections → 勾選 Using both TCP/IP and named pipes → Apply
- 提示「需重新啟動服務才會生效」→ OK
- 同頁籤選 Service → Stop 待 MSSQLSERVER 停止 → Start 重新啟動
步驟 2:啟用 SQL Server Browser 服務
- 同工具中選擇 SQL Server Browser → Service
- 啟動類型改為 Automatic → Apply
- Start 啟動服務 → OK
作用:解析具名執行個體名稱對應的動態埠號,若連線字串指定 Server=IP,Port 可不啟用,但建議啟用以支援預設執行個體名稱連線。
步驟 3:Windows 防火牆建立例外規則(XP SP2 / Server 2003 防火牆)
3.1 取得執行個體 ID(決定 sqlservr.exe 路徑)
- 開啟 SQL Server Configuration Manager
- SQL Server Browser Services → 右鍵執行個體 → Properties → Advanced 索引標籤 → 記下 Instance ID(如
MSSQL.1)
3.2 為 sqlservr.exe 建立例外
- 控制台 → Windows Firewall → Exceptions → Add Program → Browse
- 選取
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe(MSSQL.1 替換為實際 Instance ID)
- Open → OK
3.3 為 sqlbrowser.exe 建立例外
- 同樣在 Exceptions → Add Program → Browse
- 選取
C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe
- Open → OK
步驟 4:設定 TCP/IP 固定連接埠(關鍵)
- 開啟 SQL Server Configuration Manager
- SQL Server 2005 Network Configuration → Protocols for MSSQLSERVER
- 右鍵 TCP/IP → Properties → IP Addresses 索引標籤
- 捲動至 IPAll 區段 → TCP Port 輸入固定埠號(預設 1433,若被佔用可改 1500、21433 等)
- OK → 提示需重啟服務 → OK
- 左側選 SQL Server 2005 Services → 右鍵 SQL Server (MSSQLSERVER) → Restart
驗證:用戶端 SSMS 連線時,伺服器名稱輸入 192.168.1.100,1500(IP + 冒號/逗號 + 埠號)。
常見坑點整理
| 症狀 | 可能原因 | 解決 |
| 本機可連、遠端不可連 | 防火牆未開放埠/程式 | 檢查步驟 3、4 |
| 用 IP 能連、用主機名無法連 | DNS/Hosts 未解析 | 用戶端網路工具設定別名或修 hosts |
| 用具名執行個體無法連 | Browser 服務未啟動/防火牆阻擋 UDP 1434 | 啟用 Browser、開放 UDP 1434 |
| 埠號衝突 | 1433 被其他程式佔用 | 步驟 4 改用其他埠 |
安全性提醒
- 開放遠端連線增加攻擊面,**務必強制強式密碼、限制登入 IP、啟用加密連線**。
- 生產環境建議**僅開放特定應用伺服器 IP**,而非全網段。
- SQL Server 2005 已停止支援,請規劃升級至支援中版本。