Поэтому я пытаюсь перенести изменения схемы в свою производственную систему. Для этого я хочу сначала протестировать изменения схемы в локальной резервной копии моей производственной базы данных, поэтому я загрузил последнюю резервную копию с сервера, восстановил ее в настройке Sql Express 2008 R2 на моем локальном хосте и применил все изменения схемы.
Теперь я хочу быстро просмотреть систему с внесенными в нее изменениями схемы, чтобы выполнить быструю проверку. Однако моя среда разработки настроена для входа в Sql Express с использованием моего локального входа в Windows, и хотя я могу выполнять запросы к резервной копии базы данных, когда я пытаюсь войти в базу данных с помощью моего приложения Asp.NET, я получаю Login Failed For User 'Matttop\KallDrexx'
Моя строка подключения <add name="MyJobLeadsDbContext" connectionString="Data Source=localhost\sqlexpress;Initial Catalog=myjobleads_prod;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
и единственное изменение, которое я сделал для использования резервной базы данных, - это изменение имени db в строке подключения.
Почему мое приложение Asp.Net не может получить доступ к резервной базе данных и как я могу предоставить доступ своему локальному пользователю?
Похоже, тебе нужно sp_change_users_login 'update_one', '<db_user>', '<server_login'
.
Несмотря на то, что на вашем локальном экземпляре может существовать то же имя входа, что и на сервере, локальный логин может иметь другое sid
к тому с сервера. Эта процедура повторно связывает пользователя базы данных с именем входа на сервер.