Подтвердить что ты не робот

Как восстановить файл резервной копии базы данных (.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 мб.

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

Есть ли способ получить "большую" базу данных с SQL Server 2012 в SQL Server 2008 Express?

4b9b3361

Ответ 1

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

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

Обходной задачей было бы создание сценариев для создания базы данных.

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

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

Ссылки:

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

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

Ответ 2

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

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

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

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

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

Ответ 3

Лучшим вариантом, чем использование мастера сценариев 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, и поэтому намного эффективнее.