Как вы перемещаете базу данных SQL Server 7 в SQL Server 2012?


8

Я хотел бы переместить базу данных из SQL Server 7.0 в SQL Server 2012. Они не совместимы для резервного копирования и восстановления. Есть ли способ экспортировать из SQL Server 7.0 и импортировать его в 2012 году? Мне нужны только таблицы - никаких представлений или хранимых процедур.


1
Команда detach / attach не работает с регулировкой уровня совместимости после этого?
msi77

Ответы:


13

Решение 1

Скопируйте данные, используя процесс ETL. Это предполагает, что у вас есть экземпляр SQL Server 7, работающий с доступной базой данных. У вас есть несколько инструментов в вашем распоряжении, но самый простой подход, который я видел, это:

  1. Сценарий всех объектов SQL Server 7 и создать их в SQL Server 2012. Возможно, вам придется настроить сценарий, если есть какой-либо специальный синтаксис SQL Server 7.
  2. Используйте процесс ETL для копирования данных. Некоторые альтернативы:

    • BCP - используйте BCP для выгрузки каждой таблицы в RAW или текстовый файл, затем используйте BCP для загрузки их в объекты SQL Server 2012.
    • Мастер импорта / экспорта в SQL Server 2012 - используйте мастер импорта / экспорта для создания задач передачи данных.
    • SSIS - это по сути то же самое, что и Мастер импорта / экспорта, но с большей функциональностью.

В целом, это может быть утомительным процессом, но позволяет копировать данные непосредственно из одной базы данных в другую. Если вы идете по пути BCP, вам понадобится некоторое хранилище для файлов дампа, но это не обязательно должно быть хранилище базы данных.

Решение 2

Обновите базу данных, выполнив промежуточный этап обновления до SQL Server 2005. Это предполагает, что у вас есть доступ к носителю SQL Server 2005 и серверу для его поддержки. SQL Server 7 не может быть обновлен до SQL Server 2008, поскольку этот путь обновления не поддерживается, но если вы можете восстановить базу данных до SQL Server 2005, вы можете затем последовательно сделать резервную копию версии SQL Server 2005 и восстановить ее до SQL Server 2012.


3
Я очень рекомендую Решение 2, а не Решение 1.
Мрденни

1
Это то, что я сделал, кроме sql 7> 2000> 2008> 2012, потому что у меня не было 2005 года.
xpda

1
Я согласен - вариант 2, безусловно, лучшая ставка - и посмотрите на этот ответ, чтобы увидеть некоторые плюсы и минусы на месте против миграции - особенно верно с чем-то вроде этого. И поздравляю с 7.0! ;-)
Майк Уолш
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.