Есть ли способ восстановить резервную копию базы данных SQL Server 2012 на SQL Server 2008?
Я пытался прикрепить файл, он не работает.
sql-server
sql-server-2008
sql-server-2012
Аарон Бертран
источник
источник
Ответы:
У вас есть несколько вариантов:
Вариант A : Сценарий базы данных в режиме совместимости с помощью параметра Generate script:
Примечание. Если вы создадите сценарий для базы данных со схемой и данными, в зависимости от размера данных, сценарий будет массивным и не будет обрабатываться SSMS, sqlcmd или osql (также может быть в ГБ).
Вариант Б:
Сначала выведите из таблицы сначала все индексы, FK и т. Д. И создайте пустые таблицы в целевой базе данных - опция ТОЛЬКО для SCHEMA (нет данных).
Используйте BCP для вставки данных
Извлеките данные, используя скрипт ниже. установите SSMS в текстовом режиме и скопируйте вывод, сгенерированный приведенным ниже скриптом, в файл bat.
Запустите файл bat, который сгенерирует файлы .dat в указанной вами папке.
Запустите скрипт ниже на конечном сервере с SSMS в текстовом режиме снова.
Запустите вывод, используя SSMS, чтобы вставить данные обратно в таблицы.
Это очень быстрый метод BCP, поскольку он использует собственный режим.
источник
Some SSIDs and linked servers didn't go across properly
. Связанные серверы должны быть написаны вручную. SSID могут быть переданы с помощью sp_helprevlogin. Задания SQLAgent, пакеты ssis и т. Д. Следует перемещать в соответствии с вашими потребностями. Смысл этого метода состоит в том, чтобы получить данные как можно быстрее, когда вы понижаете или объединяете 2 базы данных.Нет, ты не можешь идти назад, только вперед. Вы можете создать пустую базу данных в 2008 году, а затем использовать мастер создания сценариев в Management Studio для создания сценария для схемы и данных (или сторонних инструментов сравнения от Red Gate и других). Убедитесь, что вы установили правильную целевую версию на 2008 год, и вам придется выявить несовместимые вещи (например, OFFSET или FORMAT), которые вы могли использовать в 2012 году.
источник
Не существует поддерживаемого способа сделать это, потому что SQL Server не допускает такого рода совместимости.
Что вы можете сделать, это
восстановить базу данных на SQL 2012
генерировать скрипты для объектов и данных
Если у вас нет SQL Server 2012, вы можете использовать сторонние инструменты для чтения резервных копий и извлечения данных и структуры.
В этом случае просто создайте пустую базу данных на SQL 2008 и используйте инструменты, такие как ApexSQL Diff и ApexSQL Data Diff, для синхронизации объектов и данных. Вы можете найти их и у других крупных поставщиков, таких как Red-Gate или Idera.
источник