You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server Express本地使用sqlcmd登录失败求助

SQL Server Express本地使用sqlcmd登录失败求助

兄弟,太懂你折腾半天卡在这里的憋屈感了!明明SSMS能正常用SQL账号登录操作,换个sqlcmd就卡登录,这事儿确实够闹心的。咱们一步步排查下可能的问题,挨个试总能解决:

  • 密码的引号与特殊字符转义问题:你命令里给密码加了单引号'TH555!@#',但sqlcmd其实不需要给密码套引号,而且如果是在cmd窗口里运行,!这类特殊字符会被cmd当成历史命令的解析符号,直接写会导致实际传递的密码不对。试试去掉引号,同时把!转义成^!,命令改成:

    sqlcmd -S TH-DBREP01\sqlexpress -U Guy_RW -P TH555^!@#
    

    如果是用PowerShell的话,特殊字符的处理逻辑不一样,也可以试试用双引号把密码包起来:-P "TH555!@#"。

  • 实例名称与连接协议问题:先确认下实例名是不是真的没问题——打开services.msc,找到SQL Server的服务,看服务名称是不是SQL Server (SQLEXPRESS),如果是那实例名没错,但也可以试试用localhost\sqlexpress代替机器名,避免机器名解析的小问题。另外,检查SQL Server配置管理器里,SQL Server网络配置→SQLEXPRESS的协议,确认TCP/IP和命名管道是启用的,毕竟SSMS可能默认用共享内存连接,而sqlcmd可能走其他协议,协议没开就会登录失败。

  • 身份验证模式再确认:虽然你SSMS能登,但保险起见再检查下服务器的身份验证模式——打开SSMS右键服务器→属性→安全性,确认选中的是SQL Server和Windows身份验证模式,别不小心改成仅Windows身份验证了。

  • 用户登录权限检查:确认Guy_RW这个账号确实有登录该SQL实例的权限,右键账号→属性→登录,看看默认数据库是不是你能访问的,有没有被禁用登录的情况。

如果以上都试过还是不行,也可以试试加上-C参数信任服务器证书,或者指定数据库运行,比如:

sqlcmd -S TH-DBREP01\sqlexpress -U Guy_RW -P TH555^!@# -d YourDatabaseName -C

备注:内容来源于stack exchange,提问作者Jeff Shall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:50:26