Назад | Перейти на главную страницу

Как предоставить пользователю Windows доступ к производственной базе данных, восстановленной на моем локальном компьютере?

Поэтому я пытаюсь перенести изменения схемы в свою производственную систему. Для этого я хочу сначала протестировать изменения схемы в локальной резервной копии моей производственной базы данных, поэтому я загрузил последнюю резервную копию с сервера, восстановил ее в настройке 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 к тому с сервера. Эта процедура повторно связывает пользователя базы данных с именем входа на сервер.