使用 SSMS 連接遠程 SQL Server 實例失敗,典型錯誤信息:
An error has occurred while establishing a connection to the server. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 1326)
核心提示:Named Pipes Provider 錯誤,實際多為網絡/配置層面阻斷,而非認證失敗。
MSSQLSERVER (或命名實例) 狀態為 RunningSQL Server (MSSQLSERVER)sqlcmd -L (L 大寫)SQL Server Configuration Manager → SQL Server Network Configuration → 目標實例 → TCP/IP → 右鍵啟用
修改後必須重啟 SQL Server 服務生效!建議同步啟用 Named Pipes 作為備用。
默認實例端口 1433,命名實例為動態端口(需固定化)。
控制面板 → Windows 防火牆 → 高級設置 → 入站規則 → 新規則 → 端口 → TCP → 特定本地端口: 1433 → 允許連接 → 全部勾選 → 命名: SQL_TCP_1433
若使用命名實例,還需放行 sqlbrowser.exe (UDP 1434)。
SSMS → 右鍵實例 → 屬性 → Connections → 勾選 Allow remote connections to this server
默認安裝此項為關閉,極易被忽略。
命名實例且未固定端口時必須啟用:
入站規則 → 新規則 → 程序路徑: C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe → 允許連接 → 全部勾選 → 命名: SQL_Browser
# 查看 1433 端口監聽情況 netstat -an | findstr 1433 # 查看進程 PID tasklist | findstr# Telnet 測試連通性 telnet 1433
Configuration Manager → SQL Native Client Configuration → Aliases → 新建別名
Error 1326 本質是網絡層面的連接建立失敗。遵循「服務→協議→防火牆→權限→Browser→別名」六步法,可系統性覆蓋 95% 以上連接故障場景。生產環境建議固定命名實例端口、關閉 Named Pipes、僅開放 TCP/IP,縮小攻擊面。