无法通过IP地址使用Sqlcmd访问本地SQL Server 2019实例求助
解决本地SQL Server 2019 Express实例无法外部解析/localhost访问的问题
第一步:检查核心服务状态
- 按Win+R输入
services.msc打开服务列表,找到SQL Server (SQLEXPRESS),确保它处于运行状态,启动类型设为自动。 - 找到
SQL Server Browser服务,这个服务负责解析实例名称,默认可能是禁用状态,必须启动并设为自动,否则外部无法识别机器名\SQLEXPRESS这类实例标识。
第二步:配置SQL Server网络协议
- 打开SQL Server配置管理器(开始菜单直接搜索,或者通过路径
C:\Windows\SysWOW64\SQLServerManager15.msc启动,对应2019版本) - 展开SQL Server网络配置 > SQLEXPRESS的协议:
- 右键点击TCP/IP选择启用,然后重启SQL Server服务生效。
- 双击TCP/IP进入设置,切换到IP地址标签:
- 拉到最底部的IPAll区域,把TCP端口设为1433(如果和Docker版的1433冲突,可以改成1434这类其他端口)。
- 确保所有IP地址项的已启用设为是,TCP动态端口清空。
- 展开SQL Native Client 11.0配置 > 客户端协议,确认TCP/IP已启用。
第三步:测试连接
- 尝试用
.\SQLEXPRESS(点代表本地机器)、localhost\SQLEXPRESS或127.0.0.1\SQLEXPRESS连接,若改了端口则用127.0.0.1,1434格式。 - 用SSMS测试的话,服务器名称填
.\SQLEXPRESS,选SQL Server身份验证,输入sa账号密码即可。
重新添加Database Engine的操作步骤
如果确实需要补装Database Engine服务:
- 找到SQL Server 2019安装包(没有的话重新下载对应版本),运行安装程序。
- 在安装界面选择维护 > 添加功能。
- 跟着向导选择已有的SQLEXPRESS实例,勾选Database Engine Services,完成后续配置。
- 安装结束后重启SQL Server服务,再验证连接。
额外排查项
- 检查Windows防火墙:确保添加了SQL Server和SQL Server Browser的入站允许规则,或者临时关闭防火墙测试是否是拦截问题。
- 确认sa账号状态:在PowerShell连接成功后,执行
ALTER LOGIN sa ENABLE;确保账号处于启用状态。
内容的提问来源于stack exchange,提问作者tradetree
相关产品推荐
相关产品推荐

