SQL Server 2008 не может войти с вновь созданным пользователем

200

Я использую Windows Vista, и у меня возникают проблемы при входе с новым пользователем.

  1. Я открываю SQL Server Management Studio.
  2. Я создаю новый логин, щелкнув правой кнопкой мыши на Security-> Logins.
    Проверьте: Аутентификация SQL Server
    Имя для входа: tester
    Пароль: test
    Нажмите OK
  3. Я добавил этого пользователя в User Mapping в свою базу данных.
  4. Нажмите «Файл» -> «Подключить обозреватель объектов», выберите «Проверка подлинности SQL Server», введите «tester / test» и нажмите «Подключиться».

Я получаю ошибку:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

Что вызывает эту ошибку и как мне войти в систему с моим пользователем?

Трэвис Хесеман
источник

Ответы:

480

SQL Server не был настроен для разрешения смешанной аутентификации.

Вот шаги, чтобы исправить:

  1. Щелкните правой кнопкой мыши экземпляр SQL Server в корне обозревателя объектов, выберите Свойства
  2. Выберите Безопасность на левой панели.
  3. Установите переключатель «Режим проверки подлинности SQL Server и Windows» и нажмите «ОК».

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

  4. Щелкните правой кнопкой мыши экземпляр SQL Server, выберите «Перезапустить» (или откройте «Службы» и перезапустите службу «SQL Server»).

Это также невероятно полезно для пользователей IBM Connections, мои мастера не могли подключиться, пока я не исправил этот параметр.

Трэвис Хесеман
источник
8
Я думаю, что это хорошо, потому что это позволяет потенциальным респондентам знать, что проблема решена. Это также способствует увеличению объема документации, которую другие разработчики могут использовать, чтобы найти свои собственные ответы в будущем.
4
Определенно неплохо отвечать на свои вопросы. Даже спустя годы после данных ваш ответ был полезен для меня!
Johanvdw
4
У меня такая же проблема. Искал решение часами. Пробовал все, что мог, чтобы решить это, но не получилось. Тогда я увидел этот пост. Я думал, что перезапуск службы это то, что я не пробовал. Поэтому я перезапустил сервис, и он заработал! Тогда я вошел в систему только чтобы сказать ... СПАСИБО
Answer_42
16
Вина должна быть на смешном сообщении об ошибке. Если бы он сказал что-то вроде «Не удалось войти в систему. Аутентификация SQL Server не разрешена. Сервер сконфигурирован так, чтобы разрешать только аутентификацию Windows. Пожалуйста, свяжитесь с ...», это избавило бы от многих проблем.
rpattabi
5
@ Тони Интересно. Спасибо. Тем не менее, я не убежден, что безопасность как веское оправдание, чтобы препятствовать удобству использования. В сообщении могло быть что-то, указывающее пользователю на решение проблемы.
rpattabi
14

Если вы не перезапустили свой сервер базы данных SQL после внесения изменений в систему, убедитесь, что вы это делаете. Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server.

Похоже, вы только добавили пользователя на сервер. Вы должны добавить их в базу данных тоже. Либо откройте базу данных / Безопасность / Пользователь / Добавить нового пользователя, либо откройте сервер / Безопасность / Логины / Свойства / Отображение пользователей.

Эрик Лещинский
источник
Спасибо, что заметили .. Я забыл упомянуть, что я редактировал User Mapping, чтобы сделать это.
Трэвис Хесеман
Старый поток я знаю, но мне пришлось добавить новый логин на сервер, прежде чем я мог добавить нового пользователя в базу данных. Сервер> Безопасность> Логины> Щелкните правой кнопкой мыши, выберите Новый сервер входа в систему> Базы данных> Выберите База данных> Безопасность> Пользователи> Щелкните правой кнопкой мыши, Новый пользователь.
red_dorian
2

Скорее всего, вам потребуется проверить журналы ошибок SQL Server, чтобы определить фактическое состояние (оно не сообщается клиенту по соображениям безопасности.) Подробнее см. Здесь .

GuyBehindtheGuy
источник
Спасибо .. Я уже был на этой странице. Обратите внимание, что здесь не упоминается, что на самом деле означает State = 1. Грр ... но сейчас у меня все хорошо.
Трэвис Хесеман
Как объясняется на странице, состояние, зарегистрированное в журнале ошибок SQL Server, будет отличаться от состояния, сообщаемого пользователю.
GuyBehindtheGuy
1

Войти на сервер как администратор

Зайдите в Security> Logins> New Login

Шаг 1:

Login Name : SomeName

Шаг 2:

Select  SQL Server / Windows Authentication.

Больше информации о том, в чем разница между аутентификацией сервера SQL и аутентификацией Windows ..?

Выберите базу данных по умолчанию и язык по вашему выбору

Нажмите ОК

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

ИЛИ

Попробуйте с запросом:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
МАКСИМУМ
источник