SQL Server 2008 - пользователь не может получить доступ к восстановленной базе данных - PullRequest
5 голосов
/ 01 декабря 2011

Я пытаюсь переместить базу данных из одной базы данных SQL Server, работающей на одном компьютере, на другой компьютер, который является тестовым сервером и копией оригинала.

На основном компьютере я сделал резервную копиюбазы данных myDB.На тестовой машине я удалил существующую более старую базу данных myDB.На тестовом компьютере я восстановил новую базу данных myDB.

Похоже, данные успешно получены.Но у меня проблема с доступом к базе данных.Владельцем всех таблиц является 'user1', а user1 существует с одним и тем же именем входа в обе базы данных.

После попытки доступа к восстановленной базе данных на тестовой машине, хотя у пользователя user1 возникают проблемы.Сначала говорится, что пароль для user1 неверен.После сброса пароля он говорит, что для user1 не установлена ​​база данных по умолчанию.Но он уже установлен в myDB.Это то же имя, что и у восстановленной базы данных - myDB.

Что я сделал не так при восстановлении БД?Нужно ли удалять в дополнение к БД пользователя user1, прежде чем пытаться восстановить резервную копию?Я попробовал это.Как мне справиться с обновлением восстановления и поддержанием доступа пользователей?

Ответы [ 2 ]

9 голосов
/ 01 декабря 2011

после восстановления выполните

ALTER USER user1 WITH LOGIN = user1

внутри восстановленной БД, которая исправит неверный SID

См. Также Вы все еще используете sp_change_users_login вместо ALTER USER UserNameWITH LOGIN = Имя пользователя

0 голосов
/ 17 июня 2015

Чтобы избежать этой проблемы, добавьте своего пользователя (пользователя, который выполняет резервное копирование) в качестве пользователя базы данных резервного копирования, и ваш пользователь должен иметь доступ (логин) в новом экземпляре.

...