SqlCmd:本地主机登录超时已过期

SqlCmd:本地主机登录超时已过期

我已经通过 SQL Server 2008 R2 安装设置了实例 SQLEXPRESS,并添加了具有所有服务器角色的安全登录,其中一个名为“sqluser”。

服务器身份验证是 SQL Server 和 Windows 身份验证模式。但是,当我指定 -S 属性时,登录失败。

没有启用防火墙,SQL 服务器甚至接受来自远程主机的连接。

C:\Users\user>sqlcmd -U sqluser -P qwerty -Q "Select * FROM testdb.dbo.testtable"

输出:

integer
-------
      1
      2
      3
      4

(4 rows affected)

但是当指定“localhost”时查询失败...问题是为什么?

C:\Users\user>sqlcmd -S localhost/sqlexpress -U cpt -P 1234 -Q "Select * FROM cpt.dbo.testme"

输出:

HResult 0x43, Level 16, State 1
Named Pipes Provider: Could not open a connection to SQL Server [67].
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : A network-related or in    stance-specific error .....
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.

如果有人想知道,将“localhost”更改为“%COMPUTERNAME”是相同的结果。服务器作为 LocalSystem 实例运行。

答案1

您需要指定 -S 开关来提供 sqlcmd 要连接的实例名称,并且其格式应为“localhost\sqlexpress”,而不是“localhost/sqlexpress”。

相关内容