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

Как лучше всего переместить системные БД с SQL 2005 на SQL 2008 R2?

Я сейчас перехожу с SQL 2005 на SQL 2008 R2. Перемещение производственных баз данных и журналов осуществляется просто путем отсоединения / присоединения или резервного копирования / восстановления. (новое оборудование, поэтому у меня старая система работает параллельно с новой во время переезда)

Однако мне интересно узнать о системных БД (master и msdb). Как лучше всего переместить их ключевое содержимое, сохранив как можно больше данных старой системы, включая логины, пользователей, пароли учетных записей и так далее? (Я знаю, что не могу просто сделать резервную копию / восстановить).

Никаких кластеров, зеркал, репликации, связанных серверов или SSIS. Есть несколько стандартных работ по обслуживанию.

Достаточно ли запустить сценарии, созданные с помощью Задачи -> Создать сценарии? Есть ли части сгенерированных скриптов, которые нельзя переносить с SQL 2005 на 2008 R2?

Есть ли другие шаги, которые я должен предпринять после перемещения системных БД, чтобы завершить миграцию и избежать таких вещей, как потерянные учетные записи? Есть ли старые системные настройки, которые мне нужно установить вручную?

Не надо. У вашего нового экземпляра будут собственные системные базы данных. Считайте их несовместимыми. Но ваше спасение будет заключаться в том, чтобы записать то, что вас волнует, или использовать SSIS, который имеет, IIRC, перемещать логин и перемещать задачи задания (обязательно с первым, сомнительно со вторым). Для логинов, если это логины Windows, это так же просто, как create login [domain\user] from windows и любые сироты будут решены. Если у вас есть логины SQL, вам придется потрудиться с получением хешированного пароля и SID из sys.sql_logins и выполнения create login [yourlogin] with sid = <some guid>, password = 0xfacefeed hashed. Удачи!