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

SQL Server 2008 網路協定深度解析:Shared Memory、Named Pipes、TCP/IP、VIA 與端點架構

     編輯:SQL Server 2008

四大支援協定比較

協定適用範圍效能/開銷防火牆/連接埠建議
Shared Memory本機連線最低延遲、零網路開銷無需開啟連接埠預設啟用,本機應用首選
TCP/IP區域/廣域網路、跨子網標準、成熟、可路由TCP 1433 (預設)、Browser UDP 1434生產環境主要協定,必須啟用
Named Pipes區域網路、舊版應用相容較高開銷、需 SMB (445)TCP 445、RPC 動態埠非必要請停用,減少攻擊面
VIA (Virtual Interface Adapter)特定硬體 (SAN/叢集)極低延遲、用戶模式處理需專用硬體、驅動程式無 VIA 硬體請停用

SQL Native Client 用戶端設定

  • 支援相同四種協定,可設定協定優先順序 (預設:Shared Memory → TCP/IP → Named Pipes → VIA)。
  • 可建立別名,將複雜的執行個體名稱簡化 (如 MyAppDB → tcp:ProdServer,1433),應用程式無需修改連線字串。

端點架構

SQL Server 2008 將連線接聽器抽象為端點,每個端點綁定特定協定與連接埠。

系統預設端點 (安裝自動建立)

  • TSQL Default TCP:接聽 TCP 1433 (預設執行個體) 或動態埠 (具名執行個體)。
  • TSQL Default VIA、TSQL Named Pipes、TSQL Local Machine (Shared Memory)。
  • Dedicated Admin Connection (DAC):專用管理連線,接聽 TCP 1434 (預設執行個體) 或動態埠,僅允許單一 sysadmin 連線。

其他端點類型

  • Database Mirroring:TCP 5022 (可自訂),支援憑證/Windows 驗證。
  • Service Broker:訊息傳遞端點。
  • SOAP/HTTP:已淘汰 (SQL 2008 仍存在但不建議使用)。

實務設定建議

  1. 僅啟用必要協定:生產環境保留 Shared Memory + TCP/IP,停用 Named Pipes、VIA。
  2. 固定 TCP 連接埠:組態管理員 → TCP/IP 內容 → IPAll → TCP Port = 1433,清空動態連接埠。
  3. 設定 DAC 遠端存取:EXEC sp_configure 'remote admin connections', 1; RECONFIGURE;,方便緊急救援。
  4. 端點權限:GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO [LoginName]; 控制誰可用哪個協定連線。
  5. 防火牆:開放 TCP 1433 (資料)、UDP 1434 (Browser)、TCP 5022 (鏡像/可用性群組)。

驗證指令

-- 檢視端點
SELECT name, protocol_desc, type_desc, state_desc, port
FROM sys.tcp_endpoints
UNION ALL
SELECT name, protocol_desc, type_desc, state_desc, NULL
FROM sys.endpoints
WHERE protocol_desc <> 'TCP';

-- 檢視連線協定
SELECT session_id, net_transport, protocol_type, client_net_address, local_net_address
FROM sys.dm_exec_connections;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved