【问题标题】:SQL Server Network Interfaces: Connection string is not valid [87]SQL Server 网络接口:连接字符串无效 [87]
【发布时间】:2015-04-23 22:49:27
【问题描述】:

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

sqlcmd -U sa -S mymachinen_name\MSSQLSERVER

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

我得到提示输入密码,然后我得到这个:

密码:

HResult 0x57,级别 16,状态 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 的。

【问题讨论】:

  • 谢谢..还有一件事..'Sa'应该是Window认证用户还是Sql server用户??
  • sa 是 SQL Server 默认管理员帐户(现在通常禁用。
  • 这个账号的密码是什么..
  • 安装时设置,没有默认值。尝试不使用用户名登录。

标签: sql-server sqlcmd


【解决方案1】:

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

因此,试试这个:

sqlcmd -U sa -S mymachine_name

不指定任何实例名称 - 仅指定机器名称

【讨论】:

  • 为什么哦为什么他们不允许你使用这个名字?我认为使用这个名称和不使用它都应该工作。哦,好吧,谢谢你的救命之恩!
【解决方案2】:

我在尝试通过 Jenkins 连接服务器时遇到此错误,并以这种方式解决:

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

【讨论】:

    【解决方案3】:

    请注意,当通过 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
    

    【讨论】:

    • 我之所以提到这个是因为我遇到了与OP遇到的相同的错误-连接字符串无效(87)。对我自己而言,引发此错误的原因与尝试连接到 AG 的节点以更新 JOB 有关。
    【解决方案4】:

    它是在安装时设置的,没有默认值。尝试不使用用户名登录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多