Ошибка входа в базу данных Blazor / Entity Framework, неожиданно началось? - PullRequest
1 голос
/ 21 октября 2019

Существует множество связанных проблем, связанных со схожими сообщениями об ошибках базы данных, но обычно они связаны с людьми, которые настраивают базы данных на SQL-сервере, но не полностью инкапсулированы в Blazor / Entity Framework.

IМы создавали приложение Blazor Web Assembly, которое состоит из трех проектов (клиент, модель, сервер). Проект Server использует Entity Framework и создал базу данных со всеми таблицами / записями, которые он обслуживает.

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

Microsoft.Data.SqlClient.SqlException (0x80131904): Невозможно открыть базу данных "WhiteGov", запрошенную при входе в систему. Не удалось войти в систему.
Не удалось войти в систему для пользователя 'EPIC \ twhite'.

(EPIC\twhite - это моя учетная запись Windows)

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

Что я могу сделать, чтобы исправить любую проблему, которая возникла "внезапно" / "спонтанно". Я не изменил ConnectionString (ниже).

{
    "ConnectionStrings": {
        "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=WhiteGov;Trusted_Connection=True;"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
        }
    },
    "AllowedHosts": "*"
}

Вот еще ошибка:

в Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTime, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal & connection) в Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource). owningConnection, TaskCompletionSource`1, повторная попытка, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connection) в Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionOgnationOctiveOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionOctionSecenceFactingOctionOctionOctionNecationFactingOctionOctionSecenceFactingOctionOctionCeditionOctionSecateFactationCattionFirectoryPlayingOctionSigned))). rosoft.Data. (ОтменаТокен отмененТокен)

enter image description here

Ответы [ 2 ]

3 голосов
/ 27 октября 2019

То, что вы показываете в обозревателе сервера, это не ваш экземпляр Localdb, а, вероятно, соединение с экземпляром пользователя SQL Server Express. Подключитесь к (localdb) \ mssqllocaldb в обозревателе сервера и убедитесь, что он содержит базу данных с именем «WhiteGov» - если это не так, вы можете прикрепить файл WhiteGov.mdf, и все начнет работатьдля тебя.

0 голосов
/ 25 октября 2019

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

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

  • Запустите «compmgmt.msc»
  • В разделе «Управление компьютером» -> «Системные инструменты» -> «Локальные пользователи и группы». выберите «Группы»
  • Дважды щелкните Администраторы
  • Нажмите Добавить
  • Убедитесь, что ваш домен находится в текстовом поле «Из этого местоположения».
  • Введите свойимя учетной записи пользователя
  • Нажмите OK

Другой вариант - войти в узел безопасности в SSMS, щелкнуть правой кнопкой мыши по логинам и выбрать «Новый логин ...», а затем добавить свойучетную запись пользователя домена и назначьте ей роль сервера sysadmin.

...