SqlCmd:login超时从本地主机过期

我已经通过SQL Server 2008 R2安装安装了实例SQLEXPRESS,并添加了一个名为“sqluser”的所有服务器angular色的安全login。

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

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

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

输出:

 integer ------- 1 2 3 4 (4 rows affected) 

但是,当指定“本地主机”查询失败…问题是为什么?

 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. 

如果有人想知道,用'%COMPUTERNAME'改变'localhost'也是一样的结果。 服务器作为LocalSystem实例运行。

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