Sre*_*har 119 sql-server sql-server-2008
我在localhost\sql2008 Server上创建了登录帐户(例如User123)
映射到数据库(默认)
SQL Server上的身份验证模式设置为两者(Windows和SQL)
但登录到SQL Server失败,并显示以下消息(对于User123)
注意:已多次检查是否正确键入了UserName/Password
错误详情:
用户'User123'登录失败(Net.SqlClient数据提供程序)
服务器名称:localhost\sql2008错误号码:18456严重性:14状态:1行号:65536
对此有任何帮助.
Pra*_*uja 328
您需要启用SQL Server身份验证:


Joe*_*itz 48
默认情况下,登录失败错误消息只是由于登录凭据不匹配而导致服务器拒绝客户端用户连接.您可能检查的第一个任务是查看该用户是否对该SQL Server实例和相关数据库具有相关权限,这很好.显然,如果没有设置必要的prvileges,那么你需要通过为该用户登录授予相关权限来解决该问题.
如果该用户在数据库和服务器上有相关授权,如果服务器遇到该登录的任何凭据问题,那么它将阻止将身份验证授予SQL Server,客户端将收到以下错误消息:
Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'
Run Code Online (Sandbox Code Playgroud)
现在好了,通过查看错误消息,您觉得这对于理解级别和状态是非描述性的.默认情况下,无论验证登录时的问题性质如何,操作系统错误都会将"状态"显示为1.因此,为了进一步调查,您还需要查看相关的SQL Server实例错误日志,以获取有关此错误的严重性和状态的更多信息.您可以在日志中查找相应的条目:
2007-05-17 00:12:00.34 Logon Error: 18456, Severity: 14, State: 8.
or
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
Run Code Online (Sandbox Code Playgroud)
如上所述,错误的严重性和状态列是找到问题根源的准确反映的关键.在上述错误号为8的状态表示由于密码不匹配导致的身份验证失败.联机丛书指出:默认情况下,严重性低于19的用户定义消息在发生时不会发送到Microsoft Windows应用程序日志.因此,严重性低于19的用户定义消息不会触发SQL Server代理警报.
SQL Server Protocols(Dev.team)的程序经理Sung Lee概述了有关错误状态描述的更多信息:下表中提供了常见错误状态及其描述:
ERROR STATE ERROR DESCRIPTION
------------------------------------------------------------------------------
2 and 5 Invalid userid
6 Attempt to use a Windows login name with SQL Authentication
7 Login disabled and password mismatch
8 Password mismatch
9 Invalid password
11 and 12 Valid login but server access failure
13 SQL Server service paused
18 Change password required
Well I'm not finished yet, what would you do in case of error:
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
Run Code Online (Sandbox Code Playgroud)
您可以看到没有从该SQL Server实例的错误日志定义的严重性或状态级别.所以下一个故障排除选项是查看事件查看器的安全日志[编辑,因为屏幕截图丢失,但你得到了
想法,在事件日志中查看有趣的事件].
Nat*_*oop 42
我有同样的问题,但是因为我没有将服务器身份验证设置为"SQL Server和Windows身份验证模式"(你有)我只是想在这里提一下,万一有人在你的问题中错过了它.
你可以访问它
小智 19
你可以访问它
Right click on instance (IE SQLServer2008)
Select "Properties"
Select "Security" option
Change "Server authentication" to "SQL Server and Windows Authentication mode"
Restart the SQLServer service
Right click on instance
Click "Restart"
Run Code Online (Sandbox Code Playgroud)
只为其他人阅读此内容:这也适用于2012 SQL Server.谢谢
| 归档时间: |
|
| 查看次数: |
381846 次 |
| 最近记录: |