При отладке приложения ASP.Net MVC, работающего под IIS Express, я получаю следующую ошибку при попытке использовать поставщика членства:
Cannot open database "MyDB" requested by the login. The login failed.
Login failed for user 'MY-PC\MyName'.
Я попытался устранить неполадки, используя шаги, описанные в
https://stackoverflow.com/a/2577854/141172
SELECT SUSER_ID('MY-PC\MyName')
. возвращает идентификатор.
SELECT USER_ID('MY-PC\MyName')
возвращает NULL
CREATE USER [MY-PC\MyName] FROM LOGIN [MY-PC\MyName]
возвращает сообщение об ошибке
The login already has an account under a different user name.
Действительно, существует учетная запись для входа, автоматически созданная при создании базы данных, с именем
dbo
. что соответствует MY-PC\MyName
.
Моя строка подключения
Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Persist Security Info=True;Integrated Security=SSPI;
Работая в производственной среде, я бы знал, как создавать соответствующих пользователей и входы в систему. Я застрял в том, как разрешить тот факт, что IIS Express использует имя моей учетной записи Windows, чтобы попытаться войти в MyDB, когда эта учетная запись Windows уже связана с dbo
.