все что связано с моей работой
Главная » Hacks » Перенос пользователей между MS SQL 2005

Перенос пользователей между MS SQL 2005

Все делается по этой статье https://support.microsoft.com/kb/918992/ru

  1. создаем в источнике процедуры
  2. выполняем EXEC sp_help_revlogin, на выходе получаем скрипт создания пользователей
  3. из полученного скрипта, удаляем «лишних» пользователей (системные, которые уже есть на сервере назначения после установке)
  4. выполняем скрипт на сервере назначения.
  5. проверяем.

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

На всякий случай перенос баз:
просто «copy» всех *.mdf и *.ldf на новый сервер и потом attach_db

Из-за чего не происходит сопоставление при переносе через CREATE LOGIN например? На самом деле у каждого пользователя есть свой уникальный код SID, сопоставление происходит по этим SID-ам. Кстати их видно в скрипте который генерирует процедура. После присоединения базы, она помнит SID-ы пользователей со старого сервера, а при создании нового пользователя он получает новый SID. Вот отсюда и все грабли потом.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.