使用sqlcmd连接本地SQL Server Express实例报错该如何解决
报错信息:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SQL Server 网络接口:找不到指定的服务器/实例 [xFFFFFFFF]。
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : 登录超时已过期。
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。请检查实例名称是否正确,以及SQL Server是否配置为允许远程连接。有关详细信息,请参阅SQL Server联机丛书。
执行命令:SQLCMD -S 127.0.0.1\SQLEXPRESS -Q "SELECT GETDATE();"
排查调整步骤
- 检查SQL Server实例运行状态
按下Win+R输入services.msc打开服务管理器,找到SQL Server (SQLEXPRESS)服务,确认状态为正在运行,未启动则右键手动启动。 - 确认实例名称正确性
如果你安装时自定义过实例名,SQLEXPRESS需要替换为你实际的实例名,服务管理器中SQL Server服务名称括号内的内容即为实际实例名。 - 启用TCP/IP连接协议
打开SQL Server配置管理器,进入SQL Server网络配置→SQLEXPRESS的协议,右键点击TCP/IP选择启用,修改后重启SQL Server (SQLEXPRESS)服务生效。 - 调整连接命令参数
未启用TCP/IP协议时可以改用本地命名管道连接,将地址替换为.\\SQLEXPRESS或localhost\SQLEXPRESS,同时如果使用Windows身份验证,添加-E参数,示例命令:SQLCMD -S .\SQLEXPRESS -E -Q "SELECT GETDATE();"
如需使用IP连接,进入TCP/IP属性的IP地址标签页,在IPAll配置项中设置TCP端口为1433,重启服务后再执行原命令测试。 - 检查本地防火墙规则
确保本地防火墙放行1433端口,或者直接添加规则允许SQL Server主程序sqlservr.exe接收网络连接。
内容的提问来源于stack exchange,提问作者Pavan Kalyan
相关产品推荐
相关产品推荐

