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

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

Ошибка Microsoft SQL Server: 18456

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


person merazuu    schedule 04.01.2014    source источник
comment
Беглый поиск, похоже, указывает на то, что код ошибки является ошибкой входа в систему, и обычно сопровождается более подробной информацией.   -  person David    schedule 04.01.2014
comment
И эта более подробная информация должна быть в журнале ошибок сервера sql. Само число намеренно мало что говорит вам, поэтому взломщики не могут использовать его, чтобы понять, где их попытки не удались.   -  person Tony Hopkinson    schedule 04.01.2014
comment
полезную информацию можно найти здесь   -  person sairfan    schedule 17.05.2018
comment
Мне просто нужно было run as administrator   -  person Jacksonkr    schedule 24.04.2019
comment
просто проверьте это решение: stackoverflow.com/questions / 41386538 /   -  person Akash Singh Sengar    schedule 07.11.2019


Ответы (21)


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

В Microsoft SQL Server Management Studio в проводнике объектов:

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

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

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

  4. Нажмите OK

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

person Ali Kashanchi    schedule 30.04.2014
comment
Спасибо. Жаль, что при попытке добавить пользователей нет предупреждающего сообщения. - person JohnnyBizzle; 04.02.2015
comment
Что именно вы имеете в виду, щелкните правой кнопкой мыши сервер и щелкните свойства, где это? - person emcor; 07.02.2015
comment
Он имеет в виду верхний узел в обозревателе объектов - желтый цилиндр с кнопкой воспроизведения. - person JGilmartin; 02.06.2015
comment
Внутри студии управления SQL-сервером. Это помогло мне включить аутентификацию сервера sql после того, как кто-то установил сервер sql и не включил эту опцию. - person Henno Vermeulen; 13.07.2015
comment
Это очень распространенная проблема, с которой сталкиваются люди. Тот факт, что вы можете создавать логины SQL Server сколько душе угодно, не осознавая, что этот простой параметр отключен, довольно сбивает с толку ИМО. Я бы порекомендовал это как правильный ответ. - person ; 26.04.2016
comment
В дополнение к описанным выше шагам мне пришлось создать учетную запись пользователя для подключения к SQL. Учетные записи пользователей Windows Active Directory не могут подключаться через метод подключения SQL. Из MS SQL Server Mgmt Studio: 1. Разверните Безопасность 2. Щелкните правой кнопкой мыши на имени входа 3. Выберите Новый вход ... 4. Установите переключатель для проверки подлинности SQL Server. 5. Следуйте оставшимся подсказкам. - person mnutsch; 14.10.2016
comment
Перезагрузка сделала это. Спасибо. - person jimhark; 03.05.2017
comment
@JGilmartin, как именно вы сможете подключиться к серверу в обозревателе объектов, если у вас есть ошибка 18456, что означает, что вы не можете подключиться ?? - person Shai Alon; 11.07.2017
comment
Это сработало для меня. :) Автоматический перезапуск службы или уведомление об этом при создании пользователя приветствуются. - person Naveen Kumar V; 12.02.2018
comment
Спасибо! Вдобавок к этому пришлось зайти в SQL Server Configuration Manager / SQL Server Network Configuration \ Protocols for SQLEXPRESS. И там включить и Named Pipes, и TCP/IP. - person kiedysktos; 04.09.2019
comment
... а затем мне пришлось вручную установить порт 1433, как здесь stackoverflow.com/a/24299346/3886961 - person kiedysktos; 04.09.2019
comment
Это лучший ответ. Я использовал его в SQL Server 2016 и 2017. Я получал эту ошибку всякий раз, когда пытался войти в систему с данными пользователя и терпел неудачу, пока не нашел ваш ответ !!! Идеально. большое спасибо @Ali - person PatsonLeaner; 23.10.2019
comment
Спасатель. Спасибо! - person Alex; 25.09.2020
comment
Шаг 5 - это то, что я пропустил. Я всегда забываю этот шаг. - person Maher Nabil; 30.03.2021
comment
@Shai Alon Для тех, кто не может подключиться к серверу в обозревателе объектов, попробуйте запустить SSMS от имени администратора. - person Dan Walters; 30.04.2021

Ознакомьтесь с этой статьей в блоге команды разработчиков платформы данных.

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

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

person CRAFTY DBA    schedule 04.01.2014
comment
Не для того, чтобы гудеть в свой рог, но я собрал много дополнительной информации здесь: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/ - person Aaron Bertrand; 04.01.2014
comment
Вы всегда гудите ... Спасибо за голосование? Но ваш список кажется более полным! Я думаю, что большинство людей не умеют пользоваться Google. - person CRAFTY DBA; 04.01.2014
comment
У меня было желание проголосовать за, но я разрываюсь, потому что ответы на вопросы, на которые может ответить Google, просто побуждают людей продолжать спрашивать здесь, а не искать ... - person Aaron Bertrand; 04.01.2014
comment
На 99% вопросов здесь, вероятно, может ответить Google, однако простой простой вопрос и ответ экономят значительное количество времени на поиск и переполнение часто лишними статьями / блогами, так что один голос за меня! - person Chris Nevill; 07.11.2014
comment
Большое спасибо ... серьезно :) - person Tushar; 15.12.2014
comment
ЗДЕСЬ я нахожу ответы, когда использую Google (Google ищет ТАК лучше, чем ТАК ищет ...) - person Cos Callis; 06.07.2015
comment
Если вы пришли сюда из-за того, что получили этот код ошибки от команды tsql для linux, имейте в виду, что сообщение State 1 будет единственным сообщенным состоянием. Фактическая причина, указанная в ответе выше, видна только со стороны SQL-сервера. - person Tor; 28.08.2015
comment
Вы, ребята, понимаете, что само существование этого материала позволяет Google дать вам ответ ... - person Dimesio; 11.12.2016
comment
Для полноты картины у меня было состояние 1, которое не включено в эту таблицу. Я решил свою проблему, включив проверку подлинности Windows и SQL Server, как указано в [stackoverflow.com/a/23395581/2856659] ( выше) ... - person ghigad; 06.02.2017
comment
Для меня состояние - 1, которого нет в вашем списке. - person Paul; 15.03.2018
comment
если вы получаете состояние ошибки 1, вам следует перезапустить службу SQL. просто щелкните имя сервера и нажмите «Перезагрузить» !! (или перезапустите из сервисов) - person Moslem Hady; 15.09.2018
comment
Я хотел бы знать, почему состояние ошибки 65 находится в (потрясающем) блоге Аарона Бертрана, но, по-видимому, не в каком-либо официальном документе MS, который я могу найти - person Nick.McDermaid; 22.11.2018
comment
спасибо @AaronBertrand за информацию. страница была перемещена: sqlblog.org/2020/07/28/troubleshooting- error-18456 - person wilson; 28.09.2020

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

person Gsic    schedule 25.07.2015
comment
это было исправлением для меня. В сообщении об ошибке было State: 1. - person GraehamF; 25.03.2016
comment
@Gsic Ты настоящий спаситель. Я боролся больше суток, и ваше решение решило эту проблему. Спасибо - person Rog; 15.11.2018
comment
Перед открытием чего ?? - person Mike; 07.01.2019

сначала просмотрите подробную информацию об ошибке, если «состояние» равно «1». Убедитесь, что база данных настроена как для проверки подлинности SQL, так и для проверки подлинности Windows в разделе «Сервер SQL / Свойства / Безопасность».

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

person Ahmad Jahanbin    schedule 19.12.2015
comment
Боже, спасибо! Ни один из моих логинов не работал, затем я наткнулся на этот ответ и обнаружил, что каким-то образом мой экземпляр SQL Express был изменен с аутентификации SQL и Windows на аутентификацию Windows. Поменял обратно и все работает. - person Ian Kemp; 08.01.2016
comment
Кроме того, закрытия SSMS недостаточно, требуется перезапуск службы SqlServer, чтобы изменения вступили в силу. - person Ravid Goldenberg; 03.11.2016

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

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

Шаг 1. Перейдите в свойство сервера

Шаг 2: перейдите в раздел "Безопасность"

Шаг 3. Измените аутентификацию сервера как SQL-сервер и режим аутентификации Windows

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

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

person Neo Vijay    schedule 22.02.2017

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

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

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

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

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

Двойной щелчок по TCP / IP дал мне следующее:

Свойства TCP / IP, отображается неправильный IP-адрес

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

person Shadow Wizard Wearing Mask V2    schedule 14.12.2017

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

ПЕРЕЙДИТЕ в -> Услуги  строка серого цвета

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

А теперь попробуйте авторизоваться, надеюсь, у вас получится.

Спасибо

person dush88c    schedule 06.08.2016

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

person Safari Devs    schedule 04.11.2016

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

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

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

Возможные причины Ниже приводится список причин и краткое объяснение того, что делать:

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

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

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

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

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

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

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

person mohammad ha    schedule 23.01.2017

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

person Nilachal Sethi    schedule 08.07.2017

Также вы можете просто войти в систему с проверкой подлинности 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

person Jose Ortega    schedule 13.07.2017
comment
Я рада, что это помогло тебе - person Jose Ortega; 06.02.2020

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

person Tim Robinson    schedule 14.03.2017

Для меня это были неправильные логин и пароль.

person GorvGoyl    schedule 03.04.2017

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

person stolsvik    schedule 30.03.2017

В моем случае учетная запись была заблокирована несколькими ошибочными попытками. Для этого я попытался выполнить приведенный ниже запрос, и он сработал: ALTER LOGIN WITH PASSWORD = UNLOCK щелкните правой кнопкой мыши на сервере Sql -> Свойства.

person Tanay Khede    schedule 31.08.2017

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

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

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

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

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

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

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

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

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

Наиболее вероятное объяснение, скорее всего, будет правильным.

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

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

Or...

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

Конфликт локальной БД и SQLEXPRESS

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

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

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

person Fab    schedule 25.09.2017

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

снимите три галочки с проверки пароля. Это сработает.

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

person chamzz.dot    schedule 28.11.2017

вы можете сделать в 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.
person arnav    schedule 02.01.2019

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

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

Ошибка Microsoft SQL Server: 18456

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

person Zinov    schedule 19.06.2019

Я столкнулся с той же проблемой. Если вы его видите, запустите этот запрос:

DBCC FREEPROCCACHE

DBCC DROPCLEANBUFFERS

затем отображается код ошибки 18456.

Сделайте одно дело, снова запустите тот же запрос после переподключения SQL-сервера. Будет работать нормально.

person Fida Husen    schedule 02.02.2021