网络协议怎么配:TCP/IP 与共享内存
SQL Server 支持的连接协议全家桶:共享内存、TCP/IP、命名管道各走什么场景,默认装完哪些是开着的,为什么远程只用 TCP/IP。
结论先行
SQL Server 有多种连接协议,但远程连接实际上只有 TCP/IP 一种可用:共享内存只能本机、命名管道是域内老式路线。所以「让实例对外服务」= 启用 TCP/IP + 定好端口 + 防火墙放行,其余协议保持默认即可。协议开关在 SQL Server 配置管理器或 SSMS(SSMS 管理工具条目)里操作。
各协议对照
| 协议 | 适用场景 | 默认状态 | 说明 |
|---|---|---|---|
| 共享内存 | 同机连接(默认实例程序) | 启用 | 最快,仅限本机 |
| TCP/IP | 一切远程连接 | 启用 | 远程唯一可靠的协议 |
| 命名管道 | 域内机器、老环境 | 禁用 | 走 SMB 通道,很少再开 |
| 其他旧协议 | 遗留 | 禁用 | 不建议启用 |
默认实例程序本机连默认走共享内存;连命名实例的本机程序走的是该实例的 TCP 端口(默认动态),这就是「本机也能连但远程连不上命名实例」的根源之一。
在哪里看/改
- 右键实例 → 属性 → 「连接」相关页(或 SQL Server 配置管理器 → 网络配置 → 该实例的协议);
- 启用 TCP/IP,核对端口(默认实例固定 1433,命名实例默认动态);
- 需要时把「使用动态端口」改成静态值,重启 SQL Server 服务生效。
常见组合建议
- 纯开发机:保持默认即可,TCP/IP 开着方便远程调试。
- 生产服务器:TCP/IP 必开、端口固定、防火墙只放行该端口;命名管道、旧协议保持禁用,少一条通道少一个风险面。
- 排查「连不上」:先确认 TCP/IP 是否启用、端口是多少、防火墙是否放行——三步占掉绝大多数网络层故障。
SQL Server 2022 Developer、SQL Server 2019 Developer 条目环境上协议配置入口一致;命名实例端口的处理另见「命名实例动态端口问题」相关条目,SQL Server 产品族条目 中各引擎协议行为通用。