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

SQL Server 2008 啟用遠端連線完整設定指南:SSMS、Configuration Manager 與防火牆

     編輯:關於SqlServer

預設限制與啟用清單

SQL Server 2008 Express/Standard 安裝後預設關閉遠端連線,sa 帳號停用。需完成三大區塊設定:

  1. SSMS 伺服器屬性:啟用混合驗證、遠端連線、sa 帳號
  2. SQL Server Configuration Manager:啟用 TCP/IP、固定埠 1433、啟用 SQL Browser
  3. Windows 防火牆:允許 sqlservr.exe、埠 1433、UDP 1434 (Browser)

步驟 1:SSMS 伺服器屬性設定

  1. 以 Windows 驗證登入 SSMS → 右鍵伺服器 → 屬性
  2. 安全性 頁籤 → 選取 SQL Server 和 Windows 驗證模式
  3. 連線 頁籤 → 勾選 允許遠端連線至此伺服器
  4. 展開 安全性 → 登入名 → sa → 右鍵屬性
    • 一般:選 SQL Server 驗證、設定強密碼
    • 狀態:啟用 登入
  5. 右鍵伺服器 → 面向 → Surface Area Configuration → RemoteAccessEnabled = True
  6. 重新啟動 SQL Server 服務(或登出 SSMS 以 sa 重新登入驗證)

步驟 2:SQL Server Configuration Manager (SSCM)

  1. 開啟 SSCM → SQL Server 服務 → 確認 SQL Server (MSSQLSERVER) 與 SQL Server Browser 狀態為 執行中
  2. SQL Server 網路設定 → Protocols for MSSQLSERVER
    • TCP/IP → 右鍵啟用
    • 雙擊 TCP/IP → IP Addresses 頁籤
      • IPAll 區段:TCP Port = 1433、TCP Dynamic Ports 清空
      • 各 IP 區段:Enabled = Yes、TCP Port = 1433
  3. SQL Native Client 設定 → Client Protocols → 確認 TCP/IP 已啟用、順序優先
  4. 重新啟動 SQL Server 服務生效

步驟 3:Windows 防火牆規則

方法一:允許程式 (GUI)

  1. 控制台 → Windows 防火牆 → 允許應用程式通過防火牆
  2. 變更設定 → 允許其他應用程式 → 瀏覽選取 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
  3. 勾選「網域/私人/公用」依需求

方法二:命令列 (腳本化部署)

rem 允許 sqlservr.exe
netsh advfirewall firewall add rule name="SQL Server (sqlservr.exe)" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" enable=yes

rem 允許 TCP 1433
netsh advfirewall firewall add rule name="SQL Server TCP 1433" dir=in action=allow protocol=TCP localport=1433 enable=yes

rem 允許 UDP 1434 (SQL Browser)
netsh advfirewall firewall add rule name="SQL Server Browser UDP 1434" dir=in action=allow protocol=UDP localport=1434 enable=yes

驗證連線

  1. 本機 SSMS 用 sa 登入成功 → 本機設定正確
  2. 遠端電腦 SSMS:伺服器名稱輸入 目標IP,1433 或 目標主機名\實例名,驗證選 SQL Server 驗證,輸入 sa 密碼
  3. 若失敗,檢查:
    • SQL Browser 服務是否啟動(命名實例必須)
    • 防火牆規則是否生效 netsh advfirewall firewall show rule name=all
    • 錯誤日誌 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG 尋找 "Server is listening on"

常見陷阱與解決

現象可能原因解決
無法連線,錯誤 26/40TCP/IP 未啟用、埠不對、防火牆阻擋依步驟 2、3 檢查
命名實例連不上SQL Browser 未啟動、UDP 1434 被封啟動 Browser、開放 UDP 1434
sa 登入失敗 18456sa 未啟用、密碼錯誤、驗證模式非混合步驟 1 檢查 sa 啟用與混合模式
區域網可連、跨網段不可路由器/邊界防火牆未開放 1433網路層面開放埠或使用 VPN

安全性強化建議

  • 停用 sa,建立專用低權限 SQL 登入供應用程式使用
  • 變更預設埠 1433 為非標準埠(如 2433),降低自動掃描攻擊
  • 啟用強制加密:SSCM → Protocols → Flags → ForceEncryption = Yes(需憑證)
  • 限制 IP 存取:防火牆規則 RemoteIP 僅允許應用伺服器 IP 區段
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved