主机连接SQL Server数据库,核心要开启SQL Server实例服务、SQL Server Browser服务,同时启用TCP/IP协议,并放行Windows防火墙及云安全组的1433端口。 只启动主服务仅够本机共享内存连接,远程主机大概率连不上,因为Browser负责命名实例解析,TCP/IP负责网络传输。
主机连接SQL服务器数据库要开启什么服务:核心服务清单
很多开发者在本地用SSMS连得好好的,一换到另一台主机连就报“找不到服务器”或“网络相关错误”,问题几乎都集中在服务未启动、协议未启用、端口被拦这三层,下面把每项拆开说。
SQL Server主服务(MSSQLSERVER)
主服务是数据库引擎本身,服务名通常是SQL Server (MSSQLSERVER),如果安装时指定了命名实例,服务名会变成SQL Server (实例名)。
检查方法:
- 按
Win+R输入services.msc回车 - 找到
SQL Server (MSSQLSERVER)或对应实例名 - 确认状态为“正在运行”
- 右键属性,把启动类型改为“自动”
服务一旦停止,本地SSMS也连不上,更不用说远程主机,很多服务器重启后数据库连不上的原因,就是主服务被设成了手动启动。
SQL Server Browser服务
这个服务最容易被忽略,它监听UDP 1434端口,负责把实例名翻译成客户端可用的端口号。
如果只连接默认实例,并且客户端明确指定了端口,可以不开Browser,但以下场景没有Browser会直接失败:
- 使用命名实例连接,如
168.1.10SQLEXPRESS - 使用计算机名加实例名连接,如
SERVER01DEV - 不确定实例端口,想让客户端自动发现
开启步骤:
- 打开
services.msc - 找到
SQL Server Browser - 右键属性,启动类型改为“自动”
- 点击“启动”
SQL Server网络协议:TCP/IP与Named Pipes
SQL Server默认安装时,TCP/IP协议可能处于禁用状态,这会直接导致远程主机无法通过IP地址连接。
需要在SQL Server配置管理器中启用:
TCP/IP
:远程连接主要依赖该协议,默认端口1433
Named Pipes:局域网内使用机器名连接时可用,但不是必需Shared Memory:仅本机进程间通信,远程连接用不上
连接SQL Server数据库需要开启哪些服务:本地与远程场景对比
不同连接场景对服务和协议的要求差异很大,很多教程只给一套操作,结果本地连上了,远程还是不通。
本地连接SQL服务器数据库要开启什么服务
本机用SSMS连接默认实例时,只需要主服务运行即可,因为SQL Server会优先使用共享内存协议,绕过了网络层。
但有两种本地场景容易卡住:
- 本机使用
0.0.1,1433或本机IP连接,而不是localhost实例名 - 连接字符串明确写
Data Source=127.0.0.1或Data Source=IP地址
这两种走的是TCP/IP协议,如果TCP/IP未启用,就会报“无法连接到服务器”,所以本地连接SQL服务器数据库要开启什么服务,要看连接串写的是机器名还是IP地址。
局域网内主机连接SQL服务器
公司局域网内连接SQL Server,情况更复杂,除了主服务和TCP/IP,SQL Server Browser也必须运行。
局域网常见故障路径:
- 员工机器用
168.1.10SQLEXPRESS连接,报“找不到服务器或无法访问” - 服务器上SQL Server主服务正常,但SQL Server Browser被禁用
- Windows防火墙拦了UDP 1434,导致实例名无法解析
排查时按这个顺序:
- 确认服务器IP能否ping通
- 在服务器本地用SSMS先连上
- 再检查SQL Server Browser服务状态
- 最后看防火墙是否放行TCP 1433和UDP 1434
云服务器远程连接SQL数据库
购买云服务器部署SQL Server,比物理机多一层安全组,很多用户以为Windows防火墙关了就行,结果还是连不上。
不同云服务商控制台叫法不同,但路径基本一致:
- 进入云服务器控制台
- 找到“安全组”或“防火墙”
- 添加入站规则
- 放行TCP 1433端口,来源IP可以设为你的办公网出口IP或暂时设为
测试
0.0.0/0
也有人一开始纠结云服务器装sql server多少钱,但真正卡住连接的是安全组和端口配置,先确认网络层通了,再考虑授权和版本问题。
主机连不上SQL数据库是什么原因:排查清单
按出现频率从高到低排列:
- SQL Server主服务被设为手动,服务器重启后未自动启动
- SQL Server Browser服务被禁用,命名实例无法解析
- TCP/IP协议未启用,客户端只能走共享内存
- Windows防火墙未放行TCP 1433和UDP 1434
- 云服务器安全组未放行1433端口
- 登录模式为仅Windows身份验证,SQL账户无法登录
- sa账户被禁用或密码输入错误
- 实例名写错,默认实例与命名实例混淆
- 客户端驱动版本过旧,不支持当前SQL Server协议
其中服务、协议、端口三项,能解释多数连接失败场景。
sql server配置管理器怎么打开与TCP/IP设置
sql server配置管理器怎么打开
不同SQL Server版本的配置管理器文件名不同,但入口类似:
- Windows 10/11开始菜单直接搜索“SQL Server配置管理器”
- 或按
Win+R输入SQLServerManager15.msc回车 - SQL Server 2017对应14,2019对应15,2026对应16
如果找不到,可以打开“计算机管理”:
- 右键“此电脑” -> 管理
- 展开“服务和应用程序”
- 找到“SQL Server配置管理器”
启用TCP/IP并设置1433端口
操作路径:
- 打开SQL Server配置管理器
- 展开左侧“SQL Server网络配置”
- 选择“MSSQLSERVER协议”
- 右侧找到
TCP/IP,右键“启用” - 双击
TCP/IP,切换到“IP地址”选项卡 - 拉到最底部
IPAll - 将
TCP端口设为1433 - 重启SQL Server服务
重启服务可以在配置管理器左侧“SQL Server服务”中操作,也可以在services.msc里找到对应服务重新启动。
不同连接场景需要开启的服务和协议对比
| 连接场景 | 必须运行的服务 | 必须启用的协议 | 需要放行的端口 | 常见卡点 |
|---|---|---|---|---|
| 本机SSMS连接 | SQL Server主服务 | 共享内存(默认) | 无 | 服务未启动 |
| 本机用IP连接 | SQL Server主服务 | TCP/IP | 无 | TCP/IP未启用 |
| 局域网远程连接 | 主服务 + SQL Server Browser | TCP/IP | TCP 1433、UDP 1434 | Browser被禁用、防火墙拦截 |
| 云服务器远程连接 | 主服务 + SQL Server Browser | TCP/IP | TCP 1433、UDP 1434 | 安全组未放行 |
这张表可以直接对照自己的连接场景查缺补漏,行业共识认为,主机连接SQL服务器数据库要开启什么服务这个问题,答案不能一刀切,必须结合连接方式判断协议依赖。
先把SQL Server主服务和SQL Server Browser服务开起来,再到SQL Server配置管理器里启用TCP/IP并确认1433端口,最后放行Windows防火墙和云安全组,多数主机连不上SQL数据库的问题都出在服务和端口层,而不是安装包本身。
主机连接sql服务器数据库要开启什么服务常见问题
主机连接sql服务器数据库要开启什么服务,只开主服务够吗?
不够,仅本地共享内存连接可只开主服务,远程网络连接还必须开启SQL Server Browser服务,并启用TCP/IP协议,只开主服务无法满足IP地址或命名实例连接。
SQL Server默认端口1433被占用怎么改?
在SQL Server配置管理器的TCP/IP属性里,把IPAll中的TCP端口改成其他端口,例如1435,修改后客户端连接字符串需要写成服务器IP,1435的格式,端口前用逗号分隔,重启SQL Server服务后生效。
本地连接SQL服务器数据库要开启什么服务与远程连接有什么不同?
本地连接通常只依赖SQL Server主服务和共享内存协议,远程连接不只要开主服务,还要开SQL Server Browser服务、启用TCP/IP协议、放行防火墙和云安全组端口,本地能连不代表远程也能连,问题多集中在网络协议和端口层。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/808890.html

