Я создал учетную запись на моем сервере localhost\sql2008 (например, User123).
Сопоставлен с базой данных (по умолчанию)
Режим аутентификации на SQL Server установлен на оба (Windows и SQL)
Но вход на SQL Server не удается со следующим сообщением (для User123)
Примечание: Много раз проверял, что UserName / Password введены правильно.
Подробности ошибки:
Login failed for user 'User123' (Net.SqlClient Data Provider)
Имя сервера: localhost\sql2008 Ошибка Номер: 18456 Степень тяжести : 14 Состояние : 1 Номер строки : 65536
помогите пожалуйста.
Необходимо включить проверку подлинности SQL Server Authentication:
По умолчанию сообщение об ошибке login failed - это не что иное, как отказ сервера в подключении пользователя клиента из-за несоответствия учетных данных. Первым делом необходимо проверить, есть ли у этого пользователя соответствующие привилегии на данном экземпляре SQL Server и соответствующей базе данных, это хорошо. Очевидно, что если необходимые привилегии не установлены, то вам необходимо решить эту проблему, предоставив соответствующие привилегии для входа этого пользователя.
Несмотря на то, что пользователь имеет соответствующие привилегии на базе данных и сервере, если сервер столкнется с какими-либо проблемами с учетными данными для этого входа, то он не сможет предоставить аутентификацию обратно SQL Server, клиент получит следующее сообщение об ошибке:
Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'
Хорошо, что теперь, глядя на сообщение об ошибке, вы чувствуете, что оно не является описательным для понимания уровня & состояния. По умолчанию ошибка операционной системы будет показывать 'Состояние' как 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>'.
Как было определено выше, столбцы Severity & State в ошибке являются ключевыми для поиска точного отражения источника проблемы. В приведенной выше ошибке номер 8 для состояния указывает на сбой аутентификации из-за несоответствия пароля. Книги онлайн ссылаются: По умолчанию определяемые пользователем сообщения серьезностью ниже 19 не отправляются в журнал приложений Microsoft Windows, когда они возникают. Поэтому определяемые пользователем сообщения серьезностью ниже 19 не вызывают предупреждений агента SQL Server Agent.
Сунг Ли, менеджер программы в отделе протоколов SQL Server (Dev.team), изложил дополнительную информацию об описании состояния ошибки:Распространенные состояния ошибки и их описания приведены в следующей таблице:
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>'.
Видно, что в журнале ошибок данного экземпляра SQL Server не определен уровень серьезности или состояния. Поэтому следующим вариантом устранения неполадок будет просмотр журнала безопасности в Event Viewer' [редактировать, потому что снимок экрана отсутствует, но вы получаете
идею, ищите в журнале событий интересные события].
У меня была такая же проблема, однако у меня она возникла из-за того, что я не установил для аутентификации сервера значение "SQL Server and Windows Authentication mode" (что вы и сделали) Я просто хотел упомянуть об этом здесь на случай, если кто-то пропустил это в вашем вопросе.
Вы можете получить доступ к этому
Вы можете получить доступ к этому путем
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"
Просто для тех, кто еще читает это: это сработало для меня тоже на SQL сервер 2012. Спасибо
Правильное решение проблемы заключается в убедитесь, что проверка подлинности SQL сервера, для сервера SQL.
После включения "и режим проверки подлинности SQL Server и Windows" и перейдите к следующему.
Наконец, перезапустить SQL сервер.