Можно ли экспортировать базу данных из SQL Server 2008 и импортировать ее в SQL Server 2005?

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

В базе данных есть таблицы, представления и хранимые процедуры, и в ней не используются какие-либо специфические функции 2008 года.

Если это невозможно, может ли в этом случае помочь установка режима совместимости SQL-Server 2005 (90)?

Спасибо.


person CloudyMarble    schedule 20.06.2012    source источник
comment
Вы пробовали и получали ошибки?   -  person CD Smith    schedule 20.06.2012
comment
Вы не сможете выполнить резервное копирование базы данных SQL 2008 R2 и восстановить ее в SQL Server 2005.   -  person Neil Knight    schedule 20.06.2012
comment
@Neil вопрос о sql server 2008 до 2005 ....   -  person Tirumudi    schedule 20.06.2012
comment
@Tirumudi. Я знаю об этом, но это определенно стоит упомянуть для тех, кто читает этот вопрос.   -  person Neil Knight    schedule 20.06.2012
comment
Нет, вы не можете восстановить резервную копию 2008 года на экземпляре 2005 года, и нет, установка режима совместимости также не помогает. Возвращение в прошлое просто не поддерживается в SQL Server - никогда не было и, скорее всего, никогда не будет. Вам нужно будет преобразовать объекты базы данных в сценарии SQL и запустить их на своем компьютере 2005 года.   -  person marc_s    schedule 20.06.2012
comment
@NeilKnight +1 за tat .. Даже, мне пришлось сгенерировать скрипт и запустить его, когда я пытался экспортировать в 2008 R2 из самого 2008 ..   -  person Tirumudi    schedule 20.06.2012
comment
Спасибо всем за ответы. Я просто замечаю, что даже сценарии не очень помогают, типы данных, такие как date, не существуют в 2005 году, и их нужно вручную изменить на datetime.   -  person CloudyMarble    schedule 20.06.2012


Ответы (2)


Выберите свою базу данных в SSMS, щелкните правой кнопкой мыши, выберите Задачи, выберите Создать сценарии. В появившемся диалоговом окне включите все параметры, включая данные сценария, и убедитесь, что вы выбрали «Сценарий для SQL Server 2005». Выполните сгенерированные сценарии на вашем компьютере с SQL Server 2005. Конечно, это работает только для относительно небольшой базы данных. В противном случае вам придется экспортировать / импортировать данные через bcp.

person David Brabant    schedule 20.06.2012
comment
Мне не удалось найти вариант «Сценарий для SQL Server 2005», я тестировал его в редакции Express. - person CloudyMarble; 20.06.2012
comment
У меня нет SQLServer Express под рукой, но в моей установленной копии (Developer Edition) этот параметр отображается на панели параметров мастера сценариев в списке параметров, которые вы можете установить (сценарий для версии сервера) - person David Brabant; 20.06.2012

Вы не сможете этого сделать - файл резервной копии содержит номер версии, и SQL 2005 откажется восстанавливать резервную копию. Точно так же вы не сможете отсоединить и повторно прикрепить файлы необработанных данных.

Единственный вариант, который у вас есть, за исключением обновления SQL 2005 до 2008, - это экспортировать схему SQL и sprocs, используя способность SSMS создавать сценарии, а затем переносить данные, используя (например) BCP или пакет SSIS.

В некоторых случаях могут помочь сторонние инструменты (например, комбинация Redgate SQL Compare и SQL Data Compare). Однако это то, что вам нужно будет изучить.

person Chris J    schedule 20.06.2012
comment
Спасибо, Крис, в моем случае обновление не является проблемой, и сама dtaa не является проблемой (пока), я предполагаю, что файлы csv данных будут импортированы, но проблема в структуре таблиц, думаю, мне придется генерировать скрипты, исправить такие проблемы, как типы данных и запуск их в 2005 году, хотя я ожидаю проблем из-за ссылочной целостности, которая делает порядок создания таблиц критическим - person CloudyMarble; 20.06.2012