Ошибка входа в Microsoft SQL Server: 18456


295

Я получаю эту ошибку при попытке подключения к SQL Server.

Ошибка Microsoft SQL Server: 18456

Кто-нибудь может сказать мне, что означает код ошибки?


6
Беглый поиск, по-видимому, указывает на то, что код ошибки является ошибкой входа в систему и обычно сопровождается более подробной информацией.
Дэвид

И эта более подробная информация должна быть в журнале ошибок сервера SQL. Само число намеренно не говорит вам много, поэтому взломщики не могут использовать его для подсказок о том, где их попытки проваливаются.
Тони Хопкинсон

полезная информация найдена здесь
sairfan

1
Я только должен былrun as administrator
Джексонкр

просто проверьте это решение: stackoverflow.com/questions/41386538/…
Акаш Сингх Сенгар

Ответы:


706

Если вы пытаетесь подключиться с помощью «Аутентификация SQL Server», вы можете изменить аутентификацию вашего сервера:

В Microsoft SQL Server Management Studio в обозревателе объектов:

  1. Щелкните правой кнопкой мыши на сервере и выберите Properties

  2. Перейти на Securityстраницу

  3. Под Server authenticationвыберите SQL Server and Windows Authentication modeпереключатель

  4. щелчок OK

  5. Перезапустите службы SQL


32
Спасибо. Жаль, что при попытке добавить пользователей предупреждающего сообщения нет.
JohnnyBizzle

12
Что именно вы имеете в виду «щелкнуть правой кнопкой мыши по серверу и выбрать свойства», где это?
Emcor

9
Он означает верхний узел в вашем обозревателе объектов - желтый цилиндр с кнопкой воспроизведения
JGilmartin

21
Это очень распространенная проблема, с которой люди сталкиваются. Тот факт, что вы можете создавать учетные записи SQL Server для своего сердца, не осознавая, что этот простой параметр отключен, довольно запутывает IMO. Я бы рекомендовал это как правильный ответ.

7
@JGilmartin, как именно вы сможете подключиться к серверу в обозревателе объектов, когда у вас будет ошибка 18456, что означает, что вы не можете подключиться ??
Шай Алон

69

Прочтите эту статью в блоге от команды платформы данных.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

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

2, 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, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

После этого Google, как решить проблему.


42
Не для моего собственного рога, но я собрал намного больше информации здесь: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/…
Аарон Бертран,

Ты всегда гудишь в своем роге ... Спасибо за голосование? Но ваш список кажется более полным! Я думаю, что большинство людей не знают, как использовать Google.
CRAFTY DBA

1
Я был склонен голосовать «за», однако я разорван, потому что ответы на вопросы, на которые может ответить Google, просто побуждают людей продолжать задавать вопросы здесь вместо того, чтобы искать ...
Аарон Бертран

13
На 99% вопросов здесь, вероятно, мог бы ответить Google, однако простой простой вопрос и ответ экономят значительное количество времени поиска и проливают часто лишние статьи / блоги, и поэтому один голос от меня!
Крис Невилл

12
ЗДЕСЬ, где я нахожу ответы, когда использую Google (поиск Google ТАК лучше, чем SO поиск SO ...)
Cos Callis

27

Перед открытием щелкните правой кнопкой мыши и выберите «Запуск от имени администратора». Это решило проблему для меня.


1
это было исправление для меня. У меня было State: 1в сообщении об ошибке.
GraehamF

@Gsic Ты настоящий спаситель. Я боролся больше суток, и твое решение помогло. Спасибо
Karthik

До открытия чего ??
Майк

11

сначала просмотрите подробности ошибки, если «состояние» равно «1». Убедитесь, что база данных настроена как для проверки подлинности SQL, так и для проверки подлинности Windows в разделе SQL server / Properties / Security.

для другого государства см. выше ответы ....


1
OMG спасибо! Ни один из моих входов в систему не работал, затем я наткнулся на этот ответ и обнаружил, что каким-то образом мой экземпляр SQL Express изменился с «Проверка подлинности SQL и Windows» на «Проверка подлинности Windows». Поменял обратно и все работает.
Ян Кемп

1
Кроме того, если закрыть SSMS недостаточно, для вступления изменений в силу требуется перезапуск службы SqlServer.
Равид Гольденберг

10

Я столкнулся с этой проблемой.

Пожалуйста, посмотрите на прикрепленное изображение,

Шаг 1: Перейти к свойству сервера

Шаг 2: Перейти к безопасности

Шаг 3. Изменение проверки подлинности сервера в качестве сервера SQL и режима WindowsAuthenication

и перезапустите сервер Sql.

введите описание изображения здесь


9
  1. Проверьте, включена ли аутентификация в смешанном режиме на вашем сервере-> свойства
  2. Затем создайте логин на сервере-> безопасность
  3. создать пользователя для этого логина в вашей базе данных
  4. Затем перезагрузите сервер, щелкнув правой кнопкой мыши по экземпляру и выбрав перезагрузить

5

Просто случилось со мной, и оказалось, что отличается от всех других случаев, перечисленных здесь.

У меня два виртуальных сервера, размещенные в одном кластере, каждый со своим IP-адресом. Хост настроил один из серверов как SQL Server, а другой - как веб-сервер. Тем не менее, SQL Server установлен и работает на обоих. Хост забыл упомянуть, какой из серверов является SQL, а какой - Web, поэтому я предположил, что первый - это Web, а второй - SQL.

Когда я подключился к (как я думал) SQL Server и попытался подключиться через SSMS, выбрав Windows Authentication, я получил ошибку, упомянутую в этом вопросе. Потянув за волосы, я просмотрел все настройки, включая настройку сети SQL Server, протоколы для MSSQLSERVER:

снимок экрана конфигурации TCP / IP

Двойной щелчок по TCP / IP дал мне это:

Свойства TCP / IP, показывающие неверный IP-адрес

IP-адрес был другого виртуального сервера! Это, наконец, заставило меня понять, что я просто запутался между серверами, и все хорошо работало на втором сервере.


4

Если вы измените учетные данные пользователя для входа в систему или добавите нового пользователя для входа в систему, то после входа в систему потребуется перезапустить службу SQL Server. для этого

Перейти к -> Услуги серый цвет строки

Затем перейдите на SQL Server (MSSQLSERVER), остановитесь и начните снова

Теперь попробуйте войти, я надеюсь, что вы можете.

Спасибо


3

18456 Список состояний ошибок

ОШИБКА СОСТОЯНИЯ ОШИБКИ ОПИСАНИЕ

  • Штат 2 и Штат 5 Неправильный идентификатор пользователя
  • Состояние 6 Попытка использовать имя входа Windows с аутентификацией SQL
  • Состояние 7 Вход отключен и несоответствие пароля
  • Состояние 8 Несоответствие пароля
  • State 9 Неверный пароль
  • Состояние 11 и Состояние 12 Действительный вход в систему, но ошибка доступа к серверу
  • Состояние 13 Служба SQL Server приостановлена
  • State 18 Требуется смена пароля

Потенциальные причины Ниже приведен список причин и краткое объяснение, что делать:

Аутентификация SQL не включена : если вы впервые используете SQL Login на экземпляре SQL Server, то очень часто возникает ошибка 18456, поскольку сервер может быть установлен в режиме аутентификации Windows (только).

Как исправить ? Проверьте эту страницу SQL Server и режим аутентификации Windows.

Неверный идентификатор пользователя: SQL Server не может найти указанный идентификатор пользователя на сервере, который вы пытаетесь получить. Наиболее распространенной причиной является то, что этому идентификатору пользователя не был предоставлен доступ на сервере, но это также может быть простой опечаткой или вы случайно пытаетесь подключиться к другому серверу (обычно, если вы используете более одного сервера)

Неверный пароль: неверный пароль или просто опечатка. Помните, что это имя пользователя может иметь разные пароли на разных серверах.

менее распространенные ошибки: идентификатор пользователя может быть отключен на сервере. Для аутентификации SQL был предоставлен вход в систему Windows (смените Аутентификацию Windows. Если вы используете SSMS, вам, возможно, придется использовать другого пользователя для использования этой опции). Возможно, срок действия пароля истек, и, возможно, по нескольким другим причинам. Если вы знаете о каких-либо других, дайте мне знать.

Объяснение состояния 18456: Обычно Microsoft SQL Server выдаст вам состояние ошибки 1, которое на самом деле ничего не значит, кроме того, что у вас ошибка 18456. Состояние 1 используется, чтобы скрыть фактическое состояние, чтобы защитить систему, что для меня имеет смысл. Ниже приведен список со всеми различными состояниями, а для получения дополнительной информации о получении точных состояний посетите страницу Понимание сообщений об ошибках «Ошибка входа в систему» ​​(Ошибка 18456) в SQL Server 2005

надеюсь, это поможет


2

Щелкните правой кнопкой мыши пользователя, перейдите в свойства, измените базу данных по умолчанию на master. Это экранная печать изображения, показывающая, что вы должны проверить, если у вас есть ошибка 19456. Иногда по умолчанию используется база данных, которой нет у пользователя. разрешение


2

Сначала перейдите к панели запуска, затем выполните поиск локальных служб. Затем нажмите «Просмотр локальных служб». Затем откроется окно службы, затем перейдите к SQL Server (MSSQLSERVER), щелкните правой кнопкой мыши, выберите «Стоп», затем снова щелкните правой кнопкой мыши и выберите «Пуск». Теперь вы можете войти в систему и указать свое имя пользователя как «sa», а пароль - ваш выигранный пароль.


2

Также вы можете просто войти в систему с аутентификацией Windows и выполнить следующий запрос, чтобы включить его:

ALTER LOGIN sa ENABLE ;  
GO  
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;  
GO

Источник: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode


Я рад, что это помогло вам
Хосе Ортега

1

Проверьте, подключены ли вы к сети, является ли это членом домена. Кроме того, убедитесь, что вы не используете двойной домашний компьютер, поскольку ваши маршруты могут быть неправильными из-за сетевых показателей. У меня была эта проблема, когда я не мог подключиться к домену, аутентификация Windows windows переключилась на локальную учетную запись ПК, но зарегистрировала ее как аутентификацию SQL. После того как я отключил беспроводной адаптер и перезагрузился, интеграция с Windows вернулась к учетной записи домена и прошла проверку подлинности. Я уже настроил смешанный режим, как вы уже сделали, поэтому предыдущие посты не применяются.



0

Я полагаю, что это может произойти, если вы пытаетесь войти в систему с пользователем, определенным в Active Directory, но пытаетесь использовать «Аутентификация SQL Server» на экране входа в систему. Я не знаю, как указать другого пользователя с проверкой подлинности NTLM / Windows: когда я нажимаю раскрывающийся список «Проверка подлинности Windows», имя пользователя и пароль не отображаются, и я могу войти в систему только как сам.


0

В моем случае несколько неправильных попыток заблокировали учетную запись. Чтобы сделать это, я попытался выполнить приведенный ниже запрос, и он сработал: щелкните правой кнопкой мыши на Sql Server -> Свойства.


0

Устранение неполадок подключения к SQL Server

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

Вы можете попробовать следующее:

Проверьте подключение

  • Отключить брандмауэр.
  • Запустите PortQry на 1434 и проверьте ответ.

Проверьте состояние

  • Попробуйте подключиться к SSMS или sqlcmd и проверьте сообщение.
  • Состояние 1 редко документируется, но это просто означает, что вы не имеете права знать истинное состояние.
  • Посмотрите файл журнала в каталоге сервера SQL, чтобы узнать, в каком состоянии он находится.

Государство 5

Какой ? мой логин не существует? это прямо там, я вижу это в SSMS. Как это может быть ?

Наиболее вероятное объяснение - наиболее вероятное.

Состояние логина

  • Уничтожить, воссоздать его, включить его.
  • сбросить пароль

Или...

«Вы не смотрите на правильное место» или «то, что вы видите, не то, что вы думаете».

Конфликт локальной базы данных и SQLEXPRESS

Если вы подключаетесь к SSMS с аутентификацией Windows, а ваш экземпляр называется SQLEXPRESS, вы, вероятно, смотрите на LocalDb, а не на нужный сервер . Итак, вы только что создали свой логин на LocalDb.

Когда вы подключаетесь через аутентификацию SQL Server с SSMS, он пытается подключиться к реальному серверу SQLEXPRESS, где ваш любимый логин еще не существует.

Дополнительное примечание: проверьте на вкладке параметров подключения, если вы не забыли какую-то странную строку подключения там.


0

Я столкнулся с той же проблемой. Вы должны сначала включить Аутентификацию в смешанном режиме. Подробнее о том, как включить Аутентификацию в смешанном режиме


Хотя ссылка может содержать ответ, отредактируйте свой ответ и предоставьте более подробную информацию, иначе вы рискуете получить отрицательные голоса
Tae

0

Другое сработавшее решение для меня. serever->security->logins->new logins->General->создайте ваше имя пользователя в качестве имени для входа в систему, нажмите sql сервер аутентификации добавить пароли

снимите флажок проверки пароля тремя флажками. Это будет работать

Помните, чтобы изменить свойства сервера -> Безопасность от Server authenticationдоSQL Server and Windows Authentication mode


0

Вы можете сделать в Linux для MSSQL изменить пароль для учетной записи SA

Настройка sudo / opt / mssql / bin / mssql-conf

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

0

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

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

Ошибка Microsoft SQL Server: 18456

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


0

Я попробовал это решение и работал для меня 1-Включить SQL и режим смешанной аутентификации Windows из свойств сервера SQL. 2-Перезагрузите сервер из диспетчера конфигурации SQL-сервера * и убедитесь, что ваш пароль правильный.

https://www.liquidweb.com/kb/troubleshooting-microsoft-sql-server-error-18456-login-failed-user/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.