我正在运行 SQL Server 2008 Standard 的副本,并尝试设置新的用户登录以通过 Web 应用程序访问数据库。
- 我正在使用安全->登录->添加登录来创建用户。
- 指定登录名和密码
- 已选择默认数据库
- 我正在使用“公共”服务器角色
- 我正在“用户映射”中映射到我需要的数据库,并将其选为“db_owner”
...应用程序上的登录名/密码组合反复失败,甚至当我尝试通过 SQL Server Management Studio 登录时,我收到:
Login failed for user 'username'. (Microsoft SQL Server, Error: 18456)
这可能是什么原因造成的?
答案1
检查 SQL Server 是否正在运行 SQL Server 身份验证。在 Microsoft SQL Server Management Studio 中,右键单击数据库服务器,选择“属性”,然后查看“安全”页面中的“服务器身份验证”部分。
答案2
这篇博客文章可以帮助找出导致错误的原因:
了解 SQL Server 2005 中的“登录失败”(错误 18456)错误消息
为了确定失败的真正原因,管理员可以查看服务器的错误日志,其中会写入相应的条目。
查看错误状态:
错误状态 错误描述 2 和 5 无效的用户 ID 6 尝试使用带有 SQL 身份验证的 Windows 登录名 7 登录被禁用且密码不匹配 8 密码不匹配 9 密码无效 11 和 12 登录有效但服务器访问失败 13 SQL Server 服务已暂停 18 需要更改密码
答案3
多谢,
它仅被设置为 Windows 身份验证。
右键单击您的实例 -> 转到服务器属性 -> 安全 -> 然后更改为 SQL Server 和 Windows 身份验证模式
您可能必须重新启动您的实例。
再次感谢,巴斯卡
答案4
SQL Server 中的“用户”和“登录”是两个不同的东西。
尝试:
CREATE USER myUserName FOR LOGIN myLoginName
希望有帮助;-)