Я новичок в администрировании SQL Server, но мне хорошо с языком SQL и созданием пакетов служб SSIS.
Я хочу перенести данные с SQL Server 2005 на 2016 год.
Мой вопрос заключается в том, нужно ли мне беспокоиться о системных базах данных и других объектах, таких как индексы, хранимые процедуры, представление, безопасность и разрешения. логины или я могу просто перенести данные.
Что было бы рекомендуемой процедурой в этом случае.
Ответы:
Макс дал достойный ответ, который я опрошу, когда закончу печатать этот альтернативный вид.
Я не являюсь поклонником восстановления системных баз данных при выполнении миграции с обновлением, и я предпочитаю выполнять миграцию вместо обновления на месте, как я обсуждал в этом длинном ответе на другой вопрос.
В основном мне нравится начинать «заново», когда я делаю миграцию. Я обнаружил, что игра с миграциями и обновлениями системной базы данных через восстановление иногда вызывает разочарование при восстановлении и может нести потенциальные грехи.
Вы также спросили об индексах, хранимых процедурах, представлениях. Эти элементы на уровне базы данных должны находиться внутри пользовательской базы данных. Поэтому, когда вы восстанавливаете базу данных X на новый сервер, все объекты базы данных (таблицы, пользователи, представления, процедуры, функции и т. Д.) Также будут там.
В системных базах данных имеются задания, имена входа, оповещения, связанные серверы, ключи шифрования и т. Д. Элементы уровня экземпляра.
Мне нравится просматривать их и переходить на то, что мне нужно, используя различные сценарии - в последнее время это сценарии PowerShell DBATools.Io . Мне особенно нравится использовать их скрипт для копирования логинов sql , потому что он обрабатывает аутентифицированных пользователей SQL, сохраняя их пароли и идентификаторы безопасности одинаковыми, так что пользователи базы данных из этих логинов будут работать. У них также есть целая команда миграции на SQL Server, которая выполняет свои подкоманды для копирования элементов, которые я обычно копирую.
Я не верю, что Макс не прав с этим ответом, следовательно, с ответом. Я просто добился большего успеха и больше удачи и чувствую себя более комфортно, переходя на новое, вместо того, чтобы пытаться восстановить системные базы данных между версиями. Я бы сказал, что я, честно говоря, не могу вспомнить, когда в последний раз я выполнял миграцию обновления версии и не делал этого таким образом вместо восстановления системных баз данных.
источник
Вы можете рассмотреть возможность миграции системных баз данных (master, msdb и, возможно, модели), если вам нужен доступ к метаданным, хранящимся в этих базах данных.
Мастер хранит такие элементы, как логины, сертификаты безопасности и т. Д.
msdb содержит подробную информацию о резервных копиях и хранит конфигурации заданий агента SQL Server, а также другие детали.
Возможно, вы или ваша модель настроили модель так, чтобы вновь созданные пустые базы данных содержали набор предопределенных объектов, которые вы используете в каждой базе данных.
Миграция системных баз данных может быть выполнена довольно легко; подробные инструкции доступны в MSDN в разделе Резервное копирование и восстановление системных баз данных (SQL Server) .
В зависимости от ваших требований вы можете выполнить
BACKUP DATABASE
операцию с пользовательскими базами данных в экземпляре 2005 года, а затемRESTORE DATABASE
в экземпляре 2016 года, чтобы получить всю базу данных, включая все данные, индексы и другие объекты.Это, по крайней мере на начальном этапе, потребует того же объема памяти, который используется базой данных в экземпляре 2005 года. Однако, как только вы восстановите базу данных, вы можете воспользоваться преимуществами сжатия данных, чтобы существенно сократить требуемый объем памяти.
Подробности о выполнении резервного копирования см. В разделе « Работа с резервными копиями SQL Server» и « Сценарии восстановления» для получения сведений о восстановлении.
источник
Это к 2012 или 2016 году? Разница в том, что IIRC 2012 - это проверенный путь миграции, а 2016 год - нет. Таким образом, известные проблемы задокументированы и / или будут обнаружены помощником по обновлению в 2012 году. Непроверенный путь может по-прежнему работать без проблем, он просто неизвестен. Тем не менее, настоятельно рекомендую вам перейти на 2016 год. Я подозреваю, что усилия будут почти такими же.
См. Обновляется ли вы с SQL Server 2005? в документации по вариантам обновления 2005 года и ссылкам на очень подробный процесс обновления. Процесс обновления был написан для 2014 года, но все еще применим для 2016 года.
источник