Восстановление резервной копии на другом сервере - разрешения пользователя - PullRequest
10 голосов
/ 20 января 2009

Я выполнил резервное копирование и восстановил базу данных MS SQL Server 2005 на новом сервере.

Каков наилучший способ воссоздания логина, пользователей и прав пользователей?

В Диспетчере предприятия SQL Server 2000 я мог создавать сценарии входа в систему, создавать сценарии для пользователей и определять разрешения для пользователей по отдельности. Затем я мог запускать один за другим, и единственным оставшимся ручным шагом было установить пароль для входа в систему (который по сценарию безопасности не используется)

Это кажется невозможным в среде SQL Server 2005 Management Studio, что делает все очень сложным и трудоемким. (Я заканчиваю тем, что должен был написать сценарий для всей базы данных, удалить все логины и пользователей из новой базы данных, запустить сценарий, а затем просмотреть сообщения об ошибках, чтобы увидеть, что сработало, а что нет.)

У кого-нибудь есть опыт и рекомендации по этому поводу?

Ответы [ 3 ]

14 голосов
/ 20 января 2009

Самый простой способ сделать это с помощью Microsoft sp_help_revlogin, хранимой процедуры, которая записывает все логины, значения по умолчанию и пароли SQL Server и сохраняет те же SID.

Вы можете найти его в этой статье базы знаний:

http://support.microsoft.com/kb/918992

2 голосов
/ 08 января 2015

Запустите это:

EXEC sp_change_users_login 'Report'

Будет показан список всех пользователей-сирот, например:

enter image description here

Теперь выполните этот скрипт здесь для каждого пользователя, например

exec sp_change_users_login 'Update_One', 'UserNameExample', 'UserNameExample'

Это решило мою проблему.

0 голосов
/ 20 января 2009

Я использую продукт SQL Compare от Red Gate (http://www.red -gate.com / products / SQL_Compare / index.htm ). Есть и другие подобные продукты, но у меня не было причин искать их, поскольку SQL Compare никогда меня не подводил.

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

...