Как автоматически восстановить файл резервной копии SQL Server 2008 R2

Моей группе необходимо обновить автоматизированный процесс содержимого, выполняемый на серверах SQL Server 2008, чтобы включить в него содержимое базы данных SQL Server 2008 R2, поставляемой сторонним поставщиком. Запрос к третьей стороне о доставке нам на SQL Server 2008 НЕ возможен.

Мой здравый смысл подсказывает, что нет возможности перейти с 2k8 R2 на 2k8, как в большинстве известных мне программных продуктов. Однако мне интересно, смогу ли я сделать что-то подобное в скрипте:

  • Восстановите файл SQL Server 2008 R2 .bak на нашем экземпляре SQL Server 2008 R2
  • Обновите уровень совместимости до SQL Server 2008 (100). Вот ошибка в моем плане: я не обнаружил различий в уровне совместимости между версиями 2008 года в Интернете. Есть какие-нибудь подсказки по этому поводу?
  • Сделайте резервную копию базы данных.
  • Восстановить базу данных в SQL Server 2008

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

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

Любая помощь / предложения / комментарии будут приветствоваться!


person G21    schedule 24.01.2013    source источник


Ответы (3)


Нет, вы не можете восстановить базу данных в обратном порядке, независимо от уровня совместимости. Уровень совместимости влияет на определенное поведение ядра базы данных, но не снижает версию базы данных. Вы никогда не сможете восстановить в 2008 году базу данных, которая когда-либо существовала в экземпляре 2008 R2.

Чтобы решить эту проблему, вы можете:

  • восстановите базу данных на R2, затем используйте мастер импорта / экспорта данных (или сторонний инструмент) для передачи схемы / данных в экземпляр 2008 (и вы должны иметь возможность до некоторой степени автоматизировать это, например, в инструментах Red-Gate есть команда -строчные интерфейсы)
  • обновите свои серверы 2008 до 2008 R2 или 2012
  • оттолкнуть продавца
person Aaron Bertrand    schedule 24.01.2013

По умолчанию вы можете восстановить резервную копию БД только в той же или более новой версии SQL Server. Резервную копию, созданную с помощью SQL Server 2008 R2, можно восстановить только с помощью SQL Server 2008 R2 или SQL Server 2012. Это независимо от уровня совместимости базы данных. Это ограничение процедур резервного копирования и восстановления. Это было ограничением еще до появления SQL Server 2000 (т.е. каждой версии, которую я когда-либо использовал).

person Bacon Bits    schedule 24.01.2013

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

Попробуйте взглянуть на эту Как можно Я получаю дамп SQL базы данных SQL Server 2008?

person Jeremy A. West    schedule 24.01.2013