Всем доброго времени!
Пишу проект на ASP.NET 5 MVC 6 + EF, в VS всё работает на ура... а вот после публикации на хостинг Windows server 2012 r2 + IIS начались проблемы с базой данных... ни как не могу подключиться к БД... выходит ошибка:
A database operation failed while processing the request.
SqlException: Cannot open database "kfliga_KareliaKem" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\СИСТЕМА'.
Use migrations to create the database for KareliaKemDbContext
From the command line, scaffold a new migration and apply it to the database:
> dnx ef migrations add [migration name]
> dnx ef database update
Поставил SQl Server Magament, с правами пользователя NT AUTHORITY\СИСТЕМА всё норм (сделал в соответствии с этим —
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/).
В файле appsettings.json:
{
"Data": {
"KareliaKemConnection": {
"ConnectionString": "Server=(localdb)\\mssqllocaldb; Database=kfliga_KareliaKem;Trusted_Connection=true;MultipleActiveResultSets=true"
}
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Verbose",
"System": "Information",
"Microsoft": "Information"
}
}
}
Очень нужна помощь! Заранее спасибо!
Здравствуйте, ronik, Вы писали:
R>SqlException: Cannot open database "kfliga_KareliaKem" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\СИСТЕМА'.
R>Use migrations to create the database for KareliaKemDbContext
R>В файле appsettings.json:
R>R>{
R> "Data": {
R> "KareliaKemConnection": {
R> "ConnectionString": "Server=(localdb)\\mssqllocaldb; Database=kfliga_KareliaKem;Trusted_Connection=true;MultipleActiveResultSets=true"
R> }
R> }
R>}
R>
у тебя нету прав на доступ. в connectionstring должно бы прописано имя пользователя и его пароль
вот примерный connectionstring из asp.net
Data Source=.\SQLEXPRESS;Initial Catalog=DB_9B1C82;User Id=user_name;Password=user_password;MultipleActiveResultSets=True
формат немного другой, но принцип такой же. обрати внимание на выделенное. тебе в твоей новой базе нужно сделать нового user, назначить ему пароль, назначить его твоей базе, дать ему соответствующие права. и прописать в connectionstring
Правильно настроить service account (user name & password) под которым запускается вебсайт, и добавить его в разрешенные пользователи в БД и там правильно настроить его права доступа к объектам БД.
Здравствуйте, zverjuga, Вы писали:
Z>у тебя нету прав на доступ. в connectionstring должно бы прописано имя пользователя и его пароль
Z>вот примерный connectionstring из asp.net
Z>Z>Data Source=.\SQLEXPRESS;Initial Catalog=DB_9B1C82;User Id=user_name;Password=user_password;MultipleActiveResultSets=True
Z>формат немного другой, но принцип такой же. обрати внимание на выделенное. тебе в твоей новой базе нужно сделать нового user, назначить ему пароль, назначить его твоей базе, дать ему соответствующие права. и прописать в connectionstring
Спасибо, разобрался!