Помилка входу в Microsoft SQL Server: 18456


295

Я отримую цю помилку під час спроби підключитися до SQL Server.

Помилка сервера Microsoft SQL: 18456

Хтось може сказати мені, що означає код помилки?


6
Короткий пошук, схоже, вказує на те, що код помилки є помилкою входу, і, як правило, супроводжується більш детальною інформацією.
Девід

І що більш детальна інформація повинна бути в журналі помилок сервера sql. Сама цифра навмисно не говорить вам багато, тому зловмисники не можуть використовувати її для підказки про те, де їхні спроби йдуть не так.
Тоні Хопкінсон


1
Мені просто довелосяrun as administrator
Джексонкр

просто перевірити це рішення: stackoverflow.com/questions/41386538 / ...
Акаши Singh Sengar

Відповіді:


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
Що саме ви маєте на увазі "Сервер правої кнопки миші та натисніть" Властивості ", де це?
емкор

9
Він має на увазі верхній вузол у Object Explorer - жовтий циліндр із кнопкою відтворення
JGilmartin

21
Це дуже поширена проблема, з якою люди стикаються. Те, що ви можете створювати вхід на SQL Server до вмісту вашого серця, не розуміючи, що ця проста настройка вимкнена, досить заплутано для ІМО. Я рекомендую це як правильну відповідь.

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 шукає ТАК краще, ніж ТАК шукає ТАК ...)
Cos Callis

27

Перед відкриттям клацніть правою кнопкою миші та виберіть "Запустити як адміністратор". Це вирішило для мене проблему.


це було виправданням для мене. У мене було State: 1повідомлення про помилку.
GraehamF

@Gsic Ти справжній рятівник. Я боровся більше дня, і ваше рішення вирішило це. Спасибі
Картик

Перш ніж відкрити що ??
Майк

11

спочатку перегляньте деталі помилки, якщо "стан" є "1" Переконайтесь, що база даних встановлена ​​для автентифікації SQL та Windows під SQL-сервером / Властивості / Безпека.

для інших держав див. вищевказані відповіді ....


1
OMG дякую! Жоден з моїх входів не працював, то я натрапив на цю відповідь і виявив, що якось мій екземпляр SQL Express змінився з "автентифікації SQL та Windows" на "автентифікацію Windows". Змінив його назад і все працює.
Ян Кемп

1
Крім того, недостатньо закрити SSMS, для зміни зміни потрібно перезапустити службу SqlServer.
Ravid Goldenberg

10

Я зіткнувся з цим питанням.

Погляньте на додане зображення,

Крок 1: Перейдіть до власності сервера

Крок 2: Перейдіть до безпеки

Крок 3: Змініть автентифікацію сервера як SQL-сервер та режим WindowsAuthenication

та перезавантажте сервер Sql.

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


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

5

Щойно зі мною трапилося і виявилося іншим, ніж усі інші перераховані тут випадки.

У мене, в одному кластері, розміщено два віртуальні сервери, кожен з яких має власну IP-адресу. Хост налаштував один із серверів як SQL Server, а другий - веб-сервер. Однак SQL Server встановлений і працює на обох. Хост забув згадати, який із серверів - це SQL, а який - Інтернет, тому я просто припустив, що перший - це 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 Недійсний userid
  • Стан 6 Спроба використовувати ім’я для входу в Windows з аутентифікацією SQL
  • Стан 7 Увімкнено і невідповідність пароля
  • Стан 8 Невідповідність пароля
  • Стан 9 Недійсний пароль
  • Стан 11 та Стан 12 Дійсне вхід, але помилка доступу до сервера
  • Стан 13 Служба SQL Server призупинена
  • Стан 18 Потрібно змінити пароль

Потенційні причини Нижче наведено список причин та коротке пояснення, що робити:

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

Як виправити ? Перевірте цю сторінку режиму автентифікації SQL Server та Windows.

Недійсний UserID: SQL Server не в змозі знайти вказаний UserID на сервері, до якого ви намагаєтесь отримати. Найпоширенішою причиною є те, що цьому користувальницькому користувачеві не було надано доступ на сервер, але це може бути також проста помилка друку або ви випадково намагаєтеся підключитися до іншого сервера (як правило, якщо ви використовуєте більше одного сервера)

Неправильний пароль: неправильний пароль або просто помилка друку. Пам'ятайте, що це ім'я користувача може мати різні паролі на різних серверах.

менш поширені помилки: UserID може бути відключений на сервері. Увійти в систему Windows було передбачено для автентифікації SQL (зміна на автентифікацію Windows. Якщо ви використовуєте SSMS, можливо, вам доведеться запустити іншого користувача, щоб використовувати цю опцію). Можливо, термін дії пароля минув і, можливо, кілька інших причин…. Якщо ви знаєте про будь-які інші, дайте мені знати.

Пояснення стану 18456 1: Зазвичай Microsoft SQL Server надасть вам стан помилки 1, що насправді не означає нічого, крім того, що у вас є помилка 18456. Стан 1 використовується для приховування фактичного стану для захисту системи, що для мене має сенс. Нижче наводиться список зі всіма різними станами та для отримання додаткової інформації про отримання точного відвідування держав Розуміння повідомлень про помилку "вхід не вдалося" (помилка 18456) у SQL Server 2005

Сподіваюся, що це допомагає


2

Клацніть правою кнопкою миші Користувач, перейдіть до властивостей, змініть базу даних за замовчуванням на головну. Це друк на екрані зображення, який показує, що ви повинні перевірити, чи є помилка 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 SQL переключилася на обліковий запис локального ПК, але зареєструвала його як автентифікацію SQL. Після того, як я відключив бездротовий адаптер і перезавантажився, інтеграція Windows повернулася до облікового запису домену і підтвердилась справжністю. Я вже налаштував Змішаний режим, як ви вже робили, тому попередні повідомлення не застосовуються.



0

Я вважаю, що це може статися, якщо ви намагаєтесь увійти з користувачем, визначеним в Active Directory, але намагаєтесь використовувати "Автентифікацію SQL Server" на екрані входу. Я не знаю, як вказати іншого користувача за допомогою автентифікації NTLM / Windows: Коли я натискаю спадне меню Windows Authentication (Автентифікація Windows), ім'я користувача та пароль не вимикаються, і я можу ввійти лише як сам.


0

У моєму випадку кілька помилкових спроб заблокували обліковий запис. Щоб зробити це, я спробував запустити наступний запит, і він спрацював: ПОВЕРНУТЬ ВХОД З ПАРОЛЬНИМИ СЛУЖБАМИ = UNLOCK і переконайтесь, що встановіть опцію "Забезпечити безпеку пароля", щоб конкретний користувач не перевіряв клацніть правою кнопкою миші на сервер Sql -> Властивості.


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 змінити пароль для акаунта

налаштування 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: 18456

Щоб вирішити проблему, спробуйте підключитися знову до вашої організації Організація та створити користувача, коли ви підключені, і тоді ви можете відключитися і працюватиме.


0

Я спробував це рішення і для мене працював режим 1-Enable 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.