当我从我的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的。
答案 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"