Не удалось войти в SQL Server + Проверка подлинности SQL Server + Ошибка: 18456

Я создал учетную запись на моем сервере localhost\sql2008 (например, User123)

Отображается в базу данных (по умолчанию)

Режим проверки подлинности на SQL Server установлен для обоих (Windows и SQL)

Но вход в SQL Server завершился неудачей со следующим сообщением (для User123)

Примечание. Проверено несколько раз, когда UserName/Password вводится правильно.

Сведения об ошибке:

Ошибка входа для пользователя 'User123' (Поставщик данных Net.SqlClient)

Имя сервера: localhost\sql2008 Ошибка Номер: 18456 Уровень: 14 Состояние: 1 Номер строки: 65536

любая помощь по этому поводу.

Ответ 1

По умолчанию сообщение об ошибке с ошибкой входа в систему - это ничего, кроме того, что клиентское соединение было отказано сервером из-за несоответствия учетных данных для входа. Первой задачей, которую вы можете проверить, является проверка того, имеет ли этот пользователь соответствующие права на этот экземпляр SQL Server и соответствующую базу данных, это хорошо. Очевидно, что если необходимые prvileges не были установлены, вам необходимо исправить эту проблему, предоставив соответствующие права для входа этого пользователя.

Хотя если у этого пользователя есть соответствующие гранты для базы данных и сервера, если сервер сталкивается с любыми проблемами учетных данных для этого входа, то это предотвратит возврат аутентификации на 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 and State ошибки являются ключевыми для определения точного отражения источника проблемы. В приведенном выше номере ошибки 8 для состояния отображается ошибка аутентификации из-за несоответствия пароля. Книги в Интернете относятся: По умолчанию пользовательские сообщения с уровнем серьезности ниже 19 не отправляются в журнал приложений Microsoft Windows, когда они происходят. Определенные пользователем сообщения с уровнем серьезности ниже 19, поэтому не вызывают предупреждения агента SQL Server.

Сун Ли, менеджер программ в протоколах 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 [edit, потому что снимок экрана отсутствует, но вы получаете

посмотрите в журнале событий для интересных событий].

Ответ 2

Вам нужно включить аутентификацию SQL Server:

  • В Проводнике объектов щелкните правой кнопкой мыши на сервере и нажмите "Свойства"

DBMS Properties dialog

  1. В окне "Свойства сервера" нажмите "Безопасность" в списке страниц слева. В разделе "Аутентификация сервера" выберите режим радиостанции "SQL Server и Windows Authentication mode".

SQL Server Authentication dialog

  1. Перезапустите службу SQLEXPRESS.

Ответ 3

У меня была такая же проблема, однако моя причина заключалась в том, что я не установил аутентификацию сервера на "SQL Server и Windows Authentication mode" (что у вас было). Я просто хотел упомянуть об этом здесь, если кто-то пропустил это в вашем вопросе.

Вы можете получить к нему доступ с помощью

  • Щелкните правой кнопкой мыши по экземпляру (IE SQLServer2008)
  • Выберите "Свойства"
  • Выберите опцию "Безопасность"
  • Измените "Аутентификация сервера" на "SQL Server и Windows Authentication mode"
  • Перезапустите службу SQLServer
    • Щелкните правой кнопкой мыши по экземпляру
    • Нажмите "Перезагрузить"

Ответ 4

Вы можете получить к нему доступ с помощью

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 Server 2012 года. Благодаря

Ответ 5

Правильное решение проблемы - убедиться, что для вашего SQL Server включена аутентификация сервера SQL.

Ответ 6

Я получил эту ошибку после создания нового пользователя sysadmin под моим экземпляром SQL. Мой админ-пользователь был создан в определенном домене MyOrganization/useradmin

Использование useradmin в отключенной среде позволяет создавать других пользователей с использованием аутентификации SQL Server, но как только вы пытаетесь войти, вы получаете

Ошибка Microsoft SQL Server: 18456

Чтобы устранить проблему, попробуйте снова подключиться к сети вашей организации и создать пользователя, пока вы подключены, а затем вы можете отключиться и работать.

Ответ 7

После включения "Режим проверки подлинности SQL Server и Windows" перейдите к следующему.

  1. Управление компьютером (в меню "Пуск")
  2. Сервисы и приложения
  3. Диспетчер конфигурации SQL Server
  4. Конфигурация сети SQL Server
  5. Протоколы для MSSQLSERVER
  6. Щелкните правой кнопкой мыши TCP/IP и включите его.

Наконец перезапустите SQL Server.