无法使用用户名密码访问sqlcmd

时间:2013-05-17 12:27:06

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

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

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

C:\Console2>sqlcmd -U admin
Password: 
  

Msg 18456,Level 14,State 1,Server machinename,Line 1
  用户'admin'登录失败。

我可以使用SQL Server Management Studio与该用户访问服务器。

P.S

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

3 个答案:

答案 0 :(得分:2)

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

sqlcmd -S servername -d database name -U id

答案 1 :(得分:2)

试试这个:

-S MyServer\MyInstance

以及数据库

答案 2 :(得分:0)

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