【发布时间】:2013-12-21 14:46:40
【问题描述】:
我已将我的 SQLServer 2005 Standard 实例配置为混合模式。使用 SSMS 时,似乎所有 sql server 登录都不起作用。只是“用户'..'登录失败”消息。但是当我使用 SQLCMD 时,它工作正常。该行为不仅仅针对一个特定的登录帐户。通过 SSMS 尝试时,包括“sa”在内的所有 sql server 登录都会失败。 Windows 登录工作正常。
有什么想法吗?
EDIT1: 通过 SQLCMD 连接时,我没有指定 -S 选项。只是 -U 和 -P 而在 SSMS 中,服务器名称默认为机器名称。 在 SSMS 中,服务器似乎注册为 xxxxN。当我使用 Windows 身份验证连接时,我的 @@servername 返回 xxxx_N。 当我尝试在 SSMS 中使用 xxxx_N 时,它完全无法连接。
编辑2: 通过 SQLCMD 尝试时,如果我将 -S 选项设置为 xxxxN,它也可以正常工作。
编辑3:
我的 SQLCMD:
C:...>SQLCMD -U sa -P 密码(有效)
C:...>SQLCMD -S xxxxN -U sa -P 密码(有效)
C:...>SQLCMD -U test -P 密码(有效)
C:...>SQLCMD -S xxxxN -U test -P 密码(有效)
在 SSMS 中:
服务器类型:数据库引擎
服务器名称:xxxxN
身份验证:Windows 身份验证(有效)
服务器类型:数据库引擎
服务器名称:xxxxN
身份验证:Sql Server 身份验证
登录:sa
密码:密码(失败)
服务器类型:数据库引擎
服务器名称:xxxxN
身份验证:Sql Server 身份验证
登录:测试
密码:密码(失败)
编辑 4(答案)
使用 sql 帐户的 ODBC 连接似乎工作正常。 来自远程机器的 SSMS 连接也可以正常工作。 这必须是本地 SSMS 安装的问题。我相信重新安装会解决这个问题..
【问题讨论】:
-
你能显示你的sqlcmd参数吗? (当然要替换敏感信息,但要完整的命令行调用)
-
@granadaCoder 编辑更多信息。谢谢
-
在 sql server 上使用 SSMS 登录也失败了?
-
SQL Server 错误日志是否包含与失败登录相关的更多信息?
-
使用 sqlcmd 和 sa 登录连接到实例,然后执行 select * from sys.dm_exec_connections,它说您使用的是什么协议?
标签: sql-server sql-server-2005