Перенос пользователей и ролей в MS SQL

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Перенос пользователей и ролей в MS SQL

Сообщение sergey-911 » 11.05.2007 (Пт) 0:13

Доброго времени суток уважаемые.
На работе накрылся WIN 200 SERVER с MS SQL 7.0. Служил верой и правдой лет шесть. Выделили новый комп под сервак.
Ставлю WIN 2003 SERVER и MS SQL 2000. Нужно перенести БД на новый сервер, а главное, перенести все роли и пользователей MS SQL, их тьма...
Предусмотрена авторизация на уровне сервера. Делаю RESTORE БД из прежних бэкапов. БД ставится, а вот с пользователями и ролями засада. Пользователи появляются только в разворачиваемой БД, а во вкладке Security сервера ничего не добавляется, следовательно подключиться под этими пользователями не получается...
Неужели нужно стереть из востановленной БД пользователей и прописать их заново, уже через вкладку Security и давать заново каждому доступ к нужной в БД информации?
С уважением, Сергей.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.05.2007 (Пт) 7:13

Есть sp_change_user_login
Lasciate ogni speranza, voi ch'entrate.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 11.05.2007 (Пт) 10:31

Надо читать BOL по системным таблицам, подключать старую БД и INSERTить в новые системные таблицы.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.05.2007 (Пт) 10:32

Не INSERT-ить.
Lasciate ogni speranza, voi ch'entrate.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 11.05.2007 (Пт) 10:41

BOL писал(а):Сопоставляет существующего пользователя базы данных с именем входа SQL Server

а имен входа у него, судя по тексту, нет.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.05.2007 (Пт) 10:56

Значит добавить логины, а затем связать их через sp_change_users_login.
Lasciate ogni speranza, voi ch'entrate.

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 11.05.2007 (Пт) 11:50


shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 11.05.2007 (Пт) 11:58

Gloom, у него сервак упал... видимо осталиьс только файлы БД. Для того что есть в той ссылке нужно чтобы был рабочий экземпляр SQL Server 7.0

alibek писал(а):Значит добавить логины, а затем связать их через sp_change_users_login.

Ну а добавить можно инсертом (чтобы руками не писать все заново). А затем связать то что получили.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.05.2007 (Пт) 15:04

Угу, семерка... Ее я почти не админил, но тем не менее.

Сервер умер, понятно; а БД-то жива? Если да, то лучше не ресторить из бэкапа, а приаттачить имеющуюся. Курить BOL -> sp_attach_db.
Логины хранятся в БД master. Она жива? Если да, то можно приаттачить ее под каким-нибудь другим именем и скопировать из нее все логины и пароли (хэши паролей, конечно, но в данном случае разницы нет).
Т.е. лучше так сделать - восстановить логины в соответствии с юзерами посредством, как уже было сказано выше, sp_change_users_login в режиме Auto_Fix. После этого перевести новый master в состояние allow_updates (курить BOL -> sp_configure и reconfigure with override) и перенести хэши паролей из старого мастера в новый. Я так делал на 2000, все нормально работает (более того, мне еще пришлось с линкед-сервера данные брать, а не локально). Главное все проверить внимательно, т.к. все должно быть сделано идеально с первого раза. Ошибка - и можно будет переустанавливать MSSQL. Настоятельно рекомендуется предварительно снять бэкап мастера.
Да, и не забудь потом выключить allow_updates, когда закончишь :).

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 11.05.2007 (Пт) 22:19

Спасибо всем! :D
Банально, но бэкапа БД master - не делал. Не думал, что пригодится, блин, ламер...
Из разворачиваемых БД сделал экспорт пользователей в файл. Сидел потом прописывал этих юзеров. Настройки ролей, как не странно, остались. Ушли только юзеры из вкладки Security...:)
С уважением, Сергей.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 11.05.2007 (Пт) 22:21

В понедельник приду, попробую Ваши предложения.
С уважением, Сергей.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 221

    TopList  
cron