Восстановить БД SQL Server 2008 * до * SQL Server 2005 - PullRequest
21 голосов
/ 05 января 2009

Я попал в какой-то рассол ... работаю над проектом CMS, исходя из предположения, что SQL Server 2008 был выделен зеленым цветом в качестве БД выбора. Ну, это не так, теперь мы должны перенести весь наш контент из SQL Server 2008 в SQL Server 2005.

Простая процедура резервного копирования / восстановления выдает: «RESTORE HEADERONLY прерывается ненормально. (Microsoft SQL Server, ошибка: 3241)».

К сожалению, экспорт данных в таблицу Excel приводит к нескольким ошибкам OLE, которые, на мой взгляд, являются проблемой в БД ЦМС.

Есть ли у кого-нибудь другие подходы, которые они хотели бы рекомендовать для этой задачи? Заранее спасибо

Ответы [ 9 ]

15 голосов
/ 05 января 2009

Использование RedGate :

инструмент для сравнения и развертывания содержимого базы данных SQL Server.

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

Сравнение данных SQL помогает сравнивать и развертывать изменения быстро, просто и без ошибок ...

9 голосов
/ 13 июня 2013

Нет способа сделать это по умолчанию. Вы можете создать сценарии для базы данных 2008 на сервере 2008, а затем выполнить эти сценарии в версии 2005. Обратите внимание, что вам придется вручную просматривать скрипты и удалять все части, которые являются уникальными для версии 2008 года.

Другой способ - использовать сторонние инструменты, такие как Red Gate или ApexSQL Diff (схема перемещения) и ApexSQL Data Diff (перемещение данных).

6 голосов
/ 26 февраля 2009

Используйте Генерацию сценариев для создания базы данных и схемы и убедитесь, что вы нацелены на SQL Server 2005 и данные сценариев.

5 голосов
/ 05 января 2009

Вместо резервного копирования и восстановления вы можете попробовать воспользоваться мастером импорта / экспорта данных SQL 2005.

http://support.microsoft.com/default.aspx?scid=kb;en-us;314546

http://msdn.microsoft.com/en-us/library/ms140052(SQL.90).aspx

4 голосов
/ 13 ноября 2012

Я только что столкнулся с той же проблемой, и вот как я обошел ее.

Проблема заключалась в том, чтобы скопировать базу данных из рабочей базы данных SQL Server 2008 в новую базу данных SQL Server 2005.

Я создал сценарий для базы данных, используя Management Studio на сервере 2008. Я только сценарий дизайн базы данных, а не данные. Я должен также добавить, что в БД есть только таблицы и индексы, поэтому я не пробовал это с какими-либо более умными объектами, хотя я не могу думать, почему они не будут работать.

На сервере 2005 года я вручную создал новую базу данных, а затем запустил скрипт для настройки всех таблиц и индексов.

В Management Studio на сервере 2008 года я использовал мастер экспорта данных для экспорта данных с сервера 2008 на сервер 2005. В настоящее время он работает и, кажется, очень рад перемещению данных.

Как только все данные будут пересмотрены, мне останется сделать несколько небольших вещей - создать пользователей и настроить безопасность в БД 2005 года, но в целом это не выглядит как плохо способ сделать это. Это не совсем удобно, но не слишком напряженно.

Таким образом, похоже, что мастер копирования базы данных не будет работать (я думаю, потому что пакет в конечном итоге работает на сервере 2005, а 2005 Management Studio не может общаться с 2008), но мастер экспорта данных очень доволен перемещением данных. ., пока БД уже существует на целевом сервере.

Надеюсь, это полезно.

1 голос
/ 05 января 2009

Невозможно восстановить предыдущие версии в SQL Server

Не существует ли резервной копии SQL 2005? В противном случае вы действительно ограничены в экспорте всей базы данных в 2008 г. и повторном импорте обратно в 2005 г., либо в мастере импорта / экспорта в 2008 г.

Или полагаться на сторонние инструменты. например Red Gate Data Compare умеет синхронизировать. ДАННЫЕ между 2 серверами / базами данных

0 голосов
/ 29 мая 2013

проверьте эту ссылку нажмите здесь Вы можете создать скрипт базы данных в SQL Server 2008, и вы можете использовать его SQL Server 2005 и более поздней версии ....

0 голосов
/ 05 января 2009

Я столкнулся с подобной проблемой (sql 2005 to sql 2000) и обнаружил, что у меня была пустая база данных в более старой версии. Я использовал bcp.exe для копирования всех данных.

0 голосов
/ 05 января 2009

Я использую только mysql, но вы можете экспортировать свои данные в SQL-отчеты, а затем импортировать их в SQL2005? Просто мысль ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...