Как восстановить файл резервной копии базы данных (.bak) из SQL Server 2012 в SQL Server 2008 Express?

База данных, которая была первоначально из SQL Server 2008, была восстановлена в SQL Server 2012. Была сделана резервная копия из SQL Server 2012, и я пытаюсь восстановить ее на моем локальном SQL Server 2008 Express. Однако я получаю сообщение об ошибке "Указанное приведение неверно" (SQLManagerUI).

Я сгенерировал SQL Script с 2012 года и настроил его так, чтобы он генерировался с совместимостью с SQL Server 2008. Однако это большой файл sql, около 700 МБ.

Я помню, что раньше я пытался запустить скрипт такого размера раньше на моем локальном SQLExpress, а также получил ошибку.

Есть ли способ, которым я могу получить "большой" базы данных из SQL Server 2012 в SQL Server 2008 Express?

Ответы на вопрос(3)

Несколько вещей, которые можно добавить, которые могут быть полезны для людей

При создании сценариев для больших баз данных с использованием мастера сценариев в SSMS очень важно проверить порядок выполнения и быть готовым изменить его вручную. В старых версиях SSMS была эта проблема, потому что они (вероятно) полагались наsp_depends это имеетошибка.

В таких случаях я действительно нашел полезными такие инструменты, какApexSQL Diff что вы можете использовать для чтения резервных копий базы данных и создания сценариев в правильном порядке выполнения.

Восстановление резервной копии базы данных SQL Server на более низкой версии

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

Решение Вопроса

Спасибо Марку и Аарону за предоставленные ответы.

Быстрый ответ - нет, восстановить файл резервной копии из более ранней версии в более низкую версию SQL Server невозможно.

Обходным путем будет создание сценариев для создания базы данных.

Вы можете настроить генерацию скриптов на более низкую версию.

Пожалуйста, смотрите комментарии выше для получения дополнительной информации.

Ссылки:

Почему База данных SQL Server из более ранней версии не может быть восстановлена в более низкую версию SQL Server?

Создать базу данных в SQL Server 2012, Сценарий и использовать в 2008 году?

Лучшим вариантом, чем использование мастера сценариев SSMS, является использование аналогичного инструмента, доступного в Codeplex, под названием Мастер миграции баз данных SQL -http://sqlazuremw.codeplex.com/releases/view/32334, Вы хотите, чтобы последняя версия v4.x работала с SQL Server 2012.

Этот инструмент изначально предназначен для миграции баз данных между SQL Server и Azure. Однако инструмент работает так же хорошо, как и между SQL Server и SQL Server. Хитрость заключается в том, чтобы установить SQL Server, а не Azure в качестве цели в расширенных параметрах.

Причина, по которой этот вариант лучше, чем мастер сценариев SSMS, заключается в том, что он использует BCP для передачи данных, а не TSQL, и поэтому он гораздо более эффективен.

Ваш ответ на вопрос