SQL Server网络接口:连接字符串无效[87]

时间:2015-02-22 15:48:30

标签: sql-server sqlcmd

当我从我的SQL Server 2008实例上的cmd运行时:

sqlcmd -U sa -S mymachinen_name\MSSQLSERVER

(其中MSSQLSERVER是我的实例名称)

我得到密码提示,之后我得到了这个:

  

密码:

     

HResult 0x57,Level 16,State 1 SQL Server网络接口:连接字符串无效[87]。

     

Sqlcmd:错误:Microsoft SQL Server Native Client 10.0:建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及SQL Server是否配置为允许远程连接。有关详细信息,请参阅SQL Server联机丛书..

     

Sqlcmd:错误:Microsoft SQL Server Native Client 10.0:登录超时   过期。

我的SQL Server浏览器服务已启动,我也可以使用Windows身份验证通过Management Studio登录。

还找到了这个KB article,但这是针对SQL Server 2005/2000的。

4 个答案:

答案 0 :(得分:17)

通常,MSSQLSERVER服务是未命名的默认实例的服务。

因此,试试这个:

sqlcmd -U sa -S mymachine_name

未指定任何实例名称 - 只是机器名称

答案 1 :(得分:1)

请注意,当通过 sqlcmd 连接到另一台服务器时,如果目标服务器是 HA 集群组的一部分,您需要指定 -M。此外,您将不希望指定使用 AG 的数据库。 (这对于通过 sqlcmd 将作业安装到远程位置等很有用)

sqlcmd -S SERVERNAME,1433 -d msdb -Q "SELECT job_id FROM msdb.dbo.sysjobs WHERE (name = 
N'RANDOM_JOB_NAME')" -M

答案 2 :(得分:0)

安装时设置,没有默认值。尝试在没有用户名的情况下登录

答案 3 :(得分:0)

我尝试通过Jenkins连接到服务器时遇到此错误,并通过以下方式解决了该问题:

sqlcmd  -e -S "SERVER_NAME,PORT_NUMBER" -U %USER% -P %PASSWORD% -i "D:\\test.sql"