Я сейчас перехожу с 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
. Удачи!