Не удается открыть «тест» базы данных, запрошенный при входе в систему. Ошибка входа Ошибка входа для пользователя 'xyz \ ASPNET' - PullRequest
73 голосов
/ 05 апреля 2010

Я создал веб-сервис, который сохраняет некоторые данные в БД. Но я получаю эту ошибку:

Невозможно открыть «тест» базы данных, запрошенный при входе в систему. Ошибка входа Ошибка входа для пользователя 'xyz \ ASPNET'.

Моя строка подключения

Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True

Ответы [ 20 ]

1 голос
/ 13 января 2014

Я не видел этого упомянутого в предыдущих выпусках, поэтому позвольте мне исключить еще одну возможность.Возможно, что IFItest недоступно или просто не существует.Например, если имеется несколько конфигураций, каждая из которых имеет свою собственную базу данных, возможно, имя базы данных не было изменено на правильное для текущей конфигурации.

1 голос
/ 15 марта 2016

Это работает для меня.

  1. Перейдите на SQL Server >> Безопасность >> Логины и щелкните правой кнопкой мыши NT AUTHORITY \ NETWORK SERVICE и выберите Свойства
  2. В открывшемся окне «Свойства входа в систему» ​​перейдите на вкладку «Сопоставление пользователей».
  3. Затем на вкладке «Сопоставление пользователей» выберите нужную базу данных, особенно базу данных, для которой отображается это сообщение об ошибке.
  4. Нажмите ОК.

Прочитайте этот блог.

http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-user-nt-authoritynetwork-service/

1 голос
/ 20 декабря 2017

Это также происходит, когда вы вводите неправильное имя БД

ex : xxx-db-dev to xxx-dev-db

Иногда это просто глупая ошибка. У меня уходит больше 1 часа, чтобы выяснить это :( потому что сначала я просто пробую много сложных вещей

1 голос
/ 17 июня 2019

Вдохновленный ответом cyptus, который я использовал

_dbContext.Database.CreateIfNotExists();

на EF6 до первого контакта с базой данных (до заполнения базы данных).

0 голосов
/ 21 июня 2019

Если вы не создали базу данных на своем сервере, вы получите ту же ошибку входа в систему. Убедитесь, что база данных существует, прежде чем войти в систему.

0 голосов
/ 26 июля 2018

Примечание: при использовании службы Windows для размещения веб-службы.

Вы должны убедиться, что ваш веб-сервис использует правильную учетную запись для подключения к SQL Server.

  • Открытые службы (я полагаю, служба Windows была установлена)
  • Щелкните правой кнопкой мыши сервис и перейдите в свойства.
  • Нажмите на вкладку «Вход»
  • Нажмите переключатель "Этот аккаунт"
  • Нажмите «Обзор»
  • Введите имя пользователя ПК в текстовом поле и нажмите кнопку «Проверить имя» справа.
  • Нажмите на текст в текстовом поле, нажмите кнопку «ОК»
  • введите пароль для входа и примените
0 голосов
/ 26 октября 2012

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

Редактировать: Установка имени входа в качестве владельца db тоже решила следующую проблему

0 голосов
/ 05 мая 2017

Даже если вы установили имя пользователя в качестве владельца БД и настроили отображение пользователя для базы данных, которая будет использовать имя входа, убедитесь, что реальный пользователь БД (а не только имя входа) имеет роль «владелец».

0 голосов
/ 07 декабря 2014

Иногда эта проблема может возникнуть, если вы откроете эту базу данных на другом сервере sql (например, вы запустите sql managment studio (SMS) и добавите эту базу данных) и забудете остановить этот сервер. Как результат - ваше приложение пытается связаться с пользователем, уже подключенным в этой базе данных под другим сервером. Чтобы это исправить, попробуйте остановить этот сервер с помощью Config. Диспетчер SQL Server.

Мои извинения за плохой английский. С уважением, Игнат.

0 голосов
/ 04 декабря 2016

В моем случае приложение asp.net обычно может без проблем подключаться к базе данных. Я заметил такое сообщение в логах. Я включаю журналы SQL-сервера и нахожу это сообщение:

2016-10-28 10:27:10.86 Logon       Login failed for user '****'. Reason: Failed to open the explicitly specified database '****'. [CLIENT: <local machine>]
2016-10-28 10:27:13.22 Server      SQL Server is terminating because of a system shutdown. This is an informational message only. No user action is required.

Похоже, что сервер перезагружался и что сервер SQL завершал работу немного раньше, чем приложение ASP.NET, а база данных была недоступна в течение нескольких секунд до перезапуска сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...