Как скопировать базу данных с MS SQL Server v13 на v11 [дублировать]

Имейте в виду, что независимо от сценария причина всегда одинакова в .NET:

Вы пытаетесь использовать ссылочную переменную, значение которой Nothing / null. Если для ссылочной переменной значение Nothing / null, это означает, что на самом деле оно не содержит ссылку на экземпляр любого объекта, который существует в куче.

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

132
задан marc_s 31 May 2011 в 06:06
поделиться

11 ответов

Нет, невозможно понизить базу данных. 10.50.1600 - это версия SQL Server 2008 R2. Абсолютно невозможно восстановить или прикрепить эту базу данных к экземпляру SQL Server 2008, который вы пытаетесь восстановить (10.00.1600 - это SQL Server 2008). Ваши единственные варианты:

  • обновить этот экземпляр до SQL Server 2008 R2 или
  • восстановить резервную копию, имеющуюся на экземпляре SQL Server 2008 R2 , экспортировать все данные и импортировать их в базу данных SQL Server 2008.
58
ответ дан Remus Rusanu 24 August 2018 в 05:01
поделиться

вы можете использовать BCP для небольших таблиц.

Команда BCP OUT: -

BCP "SELECT *  FROM [Dinesh].[dbo].[Invoices]" QUERYOUT C:\av\Invoices1.txt -S MC0XENTC -T -c -r c:\error.csv

Команда BCP IN: - Создать структуру таблицы для Invoicescopy1.

BCP [Dinesh].[dbo].[Invoicescopy1] IN C:\av\Invoices.txt -S MC0XENTC -T -c
1
ответ дан abpatil 24 August 2018 в 05:01
поделиться

Вы можете попробовать это.

  1. Создать базу данных на SQL Server 2008.
  2. Использование функции импорта данных импортирует данные из SQL Server R2 (или любой более высокой версии).
  3. использовать «RedGate SQLCompare» для синхронизации сценария.
6
ответ дан Ishtiyaq Khan 24 August 2018 в 05:01
поделиться

Вот мои 2 цента на разные варианты для этого:

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

Красные ворота являются одними из самых популярных, но есть много других, таких как ApexSQL Diff , ApexSQL Data Diff , Адепт SQL , Идера .... Все это - превосходные инструменты, но вы можете выполнить задание в пробном режиме;)

Создание скриптов: как уже упоминалось, вы всегда можете создавать структуру и данные сценария с помощью SSMS, но вам нужно учитывать порядок исполнения. По умолчанию объектные скрипты не упорядочены правильно, и вам придется позаботиться о зависимостях. Это может быть проблемой, если база данных большая и имеет много объектов.

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

28
ответ дан Ken Williams 24 August 2018 в 05:01
поделиться

Task-> Generate Scripts ... in Advanced в разделе «Типы данных для скрипта» выберите «Shema and data» и попробуйте запустить этот скрипт в своей нижней версии

2
ответ дан mathewsun 24 August 2018 в 05:01
поделиться

Это некрасиво, но именно так я дал вам эту опцию, установленную на вашей установке SQL 2008 R2.

1) Щелкните правой кнопкой мыши базу данных в SQL Server 2008 R2 «Задачи» .. «Сгенерировать скрипты» в мастере, сначала выберите всю базу данных и объекты. На шаге «Установить параметры сценариев» вы должны увидеть кнопку «Дополнительно», выберите это и убедитесь, что вы выбрали вариант «Script for Server Version» = SQL Server 2008 «не R2». Это важный шаг, поскольку «импорт данных» сам по себе не включает в себя все первичные ключи, констрианты и любые другие объекты, такие как хранимые процедуры ».

2) Запустите SQL-скрипт, сгенерированный на новом экземпляре установки или базы данных SQL Express или SQL Server 2008, используя окно запроса или откройте сохраненный скрипт .sql и выполните, и вы увидите новую базу данных.

3) Теперь щелкните правой кнопкой мыши на новой базе данных и выберите «Задачи» .. «Импорт данных ..» выберите источник как базу данных R2 и пункт назначения в качестве новой базы данных. «Скопируйте данные из одной или нескольких таблиц или представлений», установите верхний флажок, чтобы выбрать все таблицы, а затем следующий шаг, запустите пакет, и вы должны иметь все в старой версии. Это должно работать и для возврата к версии 2005 года. Надеюсь, это поможет кому-то.

4
ответ дан motogeek 24 August 2018 в 05:01
поделиться

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

выберите «Схема и данные» - , если вы хотите взять обе вещи в файл сценария резервного копирования , выберите «Только схема» - , если нужна только схема.

Да, теперь вы сделали с помощью Create Script с помощью схемы и данных базы данных.

19
ответ дан Smit Patel 24 August 2018 в 05:01
поделиться

Другой способ сделать это - использовать функцию «Копировать базу данных»:

Найти, щелкнув правой кнопкой мыши исходную базу данных> «Задачи»> «Копировать базу данных».

Вы можете скопировать базу данных в более низкую версию экземпляра SQL Server. Это работало для меня с SQL Server 2008 R2 (SP1) - 10.50.2789.0 до Microsoft SQL Server 2008 (SP2) - 10.0.3798.0

12
ответ дан Taryn 24 August 2018 в 05:01
поделиться

Не обязательно работать

Будет работать

  • Создание сценария - Задачи -> Сгенерировать скрипты . Убедитесь, что вы задали желаемую целевую версию SQL Server на странице Set Scripting Options -> Advanced . Вы также можете выбрать, нужно ли копировать схему, данные или и то, и другое. Обратите внимание, что в сгенерированном скрипте вам может потребоваться изменить папку DATA для файлов mdf / ldf, если вы перемещаетесь из не-экспресс, чтобы выразить или наоборот.
  • Microsoft SQL Server Database Publishing Services - поставляется с SQL Сервер 2005 и выше, я думаю. Загрузите последнюю версию из здесь . Предпосылки: sqlncli.msi / sqlncli_x64.msi / sqlncli_ia64.msi, SQLServer2005_XMO.msi / SQLServer2005_XMO_x64.msi / SQLServer2005_XMO_ia64.msi (скачать здесь ).
27
ответ дан theMayer 24 August 2018 в 05:01
поделиться

Я понимаю, что это старый пост, но людям может быть полезно знать, что мастер миграции Azure (доступный на Codeplex - не может ссылаться на то, что Codeplex в данный момент я набираю это) будет делать это легко.

0
ответ дан tony.wiredin 24 August 2018 в 05:01
поделиться

Вы можете использовать функциональность, называемую Export Data-Tier Application, которая генерирует файл .bacpac, содержащий схему и данные базы данных.

На целевом сервере вы можете использовать параметр «Импортировать данные-уровень», который создает и заполняет новые база данных из предварительно созданного файла .bacpac

Если вы хотите просто передать схему базы данных, вы можете использовать Extract Data-Tier Application для создания файла и Deploy Application-Tier Application для развертывания созданной схемы базы данных.

Я пробовал этот процесс в разных версиях SQL Server с SQL 2014 на SQL 2012 и с SQL 2014 на SQL 2008R2 и работал хорошо.

24
ответ дан veljasije 24 August 2018 в 05:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: