【问题标题】:Can't access sqlcmd using username password无法使用用户名密码访问 sqlcmd
【发布时间】:2013-05-17 12:27:06
【问题描述】:

我是 SQL Server 的新手。请帮我解决。

我在 SQL Server Management Studio (2008 R2) 中创建了一个带密码的用户。当我对这个用户使用sqlcmd 时,sqlcmd 说

C:\Console2>sqlcmd -U admin
Password: 

消息 18456,级别 14,状态 1,服务器机器名,第 1 行
用户“admin”登录失败。

我可以使用 SQL Server Management Studio 通过此用户访问服务器。

附言

  • 我有两个 SQL Server Management Studio 实例(2008 R2 和 2012)。我可以从两个版本的 SQL Server Management Studio 访问该用户。
  • 每当我使用sqlcmd 连接并执行select @@version 查询时,它总是显示2012,即使我连接的是2008 R2 的sqlcmd

【问题讨论】:

    标签: sql-server database sql-server-2008-r2 sqlcmd


    【解决方案1】:

    您的计算机上可能有多个服务器实例。某些 MS 产品会安装 SQL Server Developer 版本,除非您明确告诉它不要这样做。因此,除非您明确告诉 sqlcmd 要连接到哪个实例,否则它可能会连接到您不期望的东西。

    sqlcmd -S servername -d database name -U id
    

    【讨论】:

    • 谢谢。 sqlcmd -S mypc\sqlexpress -U admin -P admin 工作正常。
      如果我尝试通过 jdbc 连接,我它不工作,它说 java.sql.SQLException: Login failed for user 'admin'. 我的 JDBC 连接字符串是 Connection conn=DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/test1;instance=mypc\\sqlexpress","admin","admin");
    • 我们在 sqlcmd 中新创建的用户也面临同样的问题。我们能够使用 SQL Management Studio,但在 sqlcmd 中出现“用户 'user1' 登录失败”错误。经过一些尝试和运行方法后,我们发现我们的密码有一些特殊字符,cmd 提示符不支持,这就是我们使用此错误的原因。解决方案:使用双引号(“”)中的所有值,例如sqlcmd -S "server_name" -U "username" -P "password"
    【解决方案2】:

    试试这个:

    -S MyServer\MyInstance
    

    对于数据库也是如此

    【讨论】:

      【解决方案3】:

      默认情况下,登录失败错误消息只是由于登录凭据不匹配,服务器拒绝了客户端用户连接。您可能要检查的第一个任务是查看该用户是否对该 SQL Server 实例和相关数据库也具有相关权限,这很好。显然,如果没有设置必要的权限,那么您需要通过授予该用户登录的相关权限来解决该问题。 Check out this post, it shows how to trouble-shoot this error.

      【讨论】:

      • 谢谢。 sqlcmd -S mypc\sqlexpress -U admin -P admin 工作正常。
      • 如果我尝试通过 jdbc 连接,它无法正常工作,并显示 java.sql.SQLException: Login failed for user 'admin'. 我的 JDBC 连接字符串是 Connection conn=DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/test1;instance=mypc\\sqlexpress","admin","admin");
      • 以上cmets属于dazedandconfused。 @Rahul 抱歉 cmets 已更改。
      猜你喜欢
      • 1970-01-01
      • 2012-08-09
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 2019-03-26
      相关资源
      最近更新 更多